/*
Theme Name: R&R Research WooCommerce
Theme URI: https://www.rnr-research.co.uk/
Author: R&R Research Ltd
Description: Custom WordPress/WooCommerce conversion of the R&R Research Shopify storefront.
Version: 1.0.45
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: rr-research
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600&family=Montserrat:wght@300;400;500&display=swap');

body {
    margin: 0;
    background: #0a0a0a;
}

.rr-wrap {
    min-height: 100vh;
    background: #0a0a0a;
    color: #e8d5c0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
}

.rr-gold {
    color: #c9956b;
}

.rr-serif {
    font-family: 'Cormorant Garamond', serif;
}

.rr-divider {
    width: 90px;
    height: 2px;
    background: #c9956b;
    margin: 10px auto;
}

.rr-divider-left {
    width: 60px;
    height: 1px;
    background: #c9956b;
    margin: 10px auto;
}

.rr-label {
    font-size: 10px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: #c9956b;
}

.rr-section {
    padding: 48px 40px;
    border-bottom: 0.5px solid #2a2118;
}

.rr-btn {
    display: inline-block;
    border: 1px solid #c9956b;
    color: #c9956b;
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    letter-spacing: 3px;
    text-transform: uppercase;
    padding: 10px 24px;
    cursor: pointer;
    background: transparent;
    margin-top: 16px;
    text-decoration: none;
}

.rr-btn:hover {
    background: rgba(201, 149, 107, 0.1);
}

.rr-tag {
    display: inline-block;
    border: 0.5px solid #c9956b;
    color: #c9956b;
    font-size: 9px;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 2px;
    text-decoration: none;
}

.rr-nav {
    background: #0a0a0a;
    border-bottom: 0.5px solid #2a2118;
    padding: 0 40px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 60px;
    position: sticky;
    top: 0;
    z-index: 10;
    gap: 24px;
}

.rr-logo {
    font-family: 'Cormorant Garamond', serif;
    font-size: 22px;
    font-weight: 500;
    color: #c9956b;
    letter-spacing: 2px;
    text-decoration: none;
    white-space: nowrap;
}

.rr-logo span.small {
    font-size: 18px;
}

.rr-logo span.word {
    font-size: 13px;
    letter-spacing: 4px;
    font-weight: 300;
    color: #e8d5c0;
    margin-left: 6px;
}

.rr-links {
    display: flex;
    gap: 28px;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #b0a090;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.rr-links a {
    color: #b0a090;
    text-decoration: none;
}

.rr-links a.active,
.rr-links a:hover {
    color: #c9956b;
}

.rr-card {
    border: 0.5px solid #2a2118;
    padding: 24px 16px;
    text-align: center;
    background: #0d0b09;
}

.rr-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
}

input,
textarea {
    outline: none;
}

.rr-contact-field {
    background: #0a0a0a;
    border: 0.5px solid #2a2118;
    color: #e8d5c0;
    padding: 10px 14px;
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    letter-spacing: 1px;
    box-sizing: border-box;
}

.rr-form-message {
    font-size: 12px;
    letter-spacing: 1px;
    margin: 14px auto 0;
    max-width: 420px;
    line-height: 1.8;
}

.rr-form-success {
    color: #c9956b;
}

.rr-form-error {
    color: #d8b19a;
}

@media (max-width: 768px) {
    .rr-nav {
        padding: 14px 18px;
        align-items: center;
        flex-direction: column;
        gap: 12px;
    }

    .rr-logo {
        font-size: 20px;
        text-align: center;
    }

    .rr-logo span.word {
        font-size: 11px;
        letter-spacing: 3px;
    }

    .rr-links {
        width: 100%;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px 14px;
        font-size: 9px;
        letter-spacing: 1.5px;
        line-height: 1.8;
    }

    .rr-section {
        padding: 32px 18px;
    }
}

  .rr-announcement-bar {
    background: #0d0b09;
    border-bottom: 0.5px solid #2a2118;
    color: #c9956b;
    text-align: center;
    font-size: 10px;
    letter-spacing: 2px;
    text-transform: uppercase;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex-wrap: wrap;
    line-height: 1.6;
  }

  .rr-announcement-dot {
    color: #7a6858;
    margin: 0 10px;
  }

  [data-rr-announcement-dispatch] {
    color: #e8d5c0;
  }

  .rr-cart-link {
    display: flex;
    align-items: center;
    gap: 4px;
  }

  .rr-cart-icon {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .rr-cart-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
  }

  .rr-cart-count-inline {
    color: #ffffff;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
  }

  .rr-cart-count-inline:empty {
    display: none;
  }

  @media (max-width: 768px) {
    .rr-announcement-bar {
      font-size: 9px;
      line-height: 1.35;
      letter-spacing: 0.65px;
      padding: 5px 10px;
    }

    .rr-announcement-dot {
      margin: 0 3px;
    }

    .rr-nav {
      padding-top: 14px !important;
      padding-bottom: 15px !important;
    }

    .rr-logo {
      margin-bottom: 12px !important;
    }

    .rr-links {
      row-gap: 8px !important;
      column-gap: 16px !important;
    }

    .rr-links a {
      font-size: 10px !important;
      letter-spacing: 0.18em !important;
      line-height: 1.15 !important;
    }

    .rr-cart-icon svg {
      width: 20px;
      height: 20px;
    }

    .rr-cart-count-inline {
      font-size: 12px;
    }
  }


  .rr-footer {
    background:
      radial-gradient(circle at top left, rgba(201,149,107,0.08), transparent 32%),
      #070605;
    border-top: 1px solid #2a2118;
    color: #8a7560;
    padding: 42px 40px 24px;
  }

  .rr-footer-inner {
    max-width: 1320px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 44px;
    align-items: start;
  }

  .rr-footer-logo {
    display: inline-flex;
    align-items: baseline;
    gap: 2px;
    color: #c9956b;
    text-decoration: none;
    font-size: 28px;
    letter-spacing: 2px;
    line-height: 1;
  }

  .rr-footer-logo span {
    font-size: 18px;
  }

  .rr-footer-logo small {
    margin-left: 7px;
    color: #8a7560;
    font-size: 10px;
    letter-spacing: 3px;
  }

  .rr-footer-brand p {
    max-width: 520px;
    margin: 18px 0 0;
    color: #947f6c;
    font-size: 12px;
    letter-spacing: 1px;
    line-height: 1.9;
  }

  .rr-footer-note {
    display: inline-flex;
    margin-top: 18px;
    border: 1px solid #c9956b30;
    color: #c9956b;
    padding: 8px 11px;
    font-size: 9px;
    letter-spacing: 2px;
    text-transform: uppercase;
    background: rgba(255,255,255,0.012);
  }

  .rr-footer-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
  }

  .rr-footer-column h3 {
    margin: 0 0 14px;
    color: #c9956b;
    font-size: 10px;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    font-weight: 400;
  }

  .rr-footer-column a {
    display: block;
    color: #947f6c;
    text-decoration: none;
    font-size: 11px;
    letter-spacing: 1.2px;
    line-height: 2.2;
    transition:
      color 0.22s ease,
      transform 0.22s ease;
  }

  .rr-footer-column a:hover {
    color: #e8d5c0;
    transform: translateX(3px);
  }

  .rr-footer-bottom {
    max-width: 1320px;
    margin: 34px auto 0;
    padding-top: 20px;
    padding-bottom: 8px;
    border-top: 1px solid #2a2118;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.95fr);
    gap: 24px;
    color: #8a7560;
    font-size: 10px;
    letter-spacing: 1px;
    line-height: 1.8;
  }

  .rr-footer-warning {
    max-width: 560px;
  }

  .rr-footer-legal {
    text-align: right;
  }

  .rr-footer-legal span {
    display: block;
  }

  @media (max-width: 820px) {
    .rr-footer {
      padding: 36px 22px 24px;
    }

    .rr-footer-inner {
      grid-template-columns: 1fr;
      gap: 30px;
    }

    .rr-footer-links {
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }

    .rr-footer-bottom {
      grid-template-columns: 1fr;
      gap: 12px;
    }

    .rr-footer-legal {
      text-align: left;
    }
  }

  @media (max-width: 520px) {
    .rr-footer-links {
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }

    .rr-footer-column h3 {
      font-size: 9px;
      letter-spacing: 2px;
    }

    .rr-footer-column a {
      font-size: 10.5px;
      letter-spacing: 1px;
      line-height: 2.1;
    }

    .rr-footer-logo {
      font-size: 25px;
    }

    .rr-footer-logo small {
      margin-left: 6px;
      font-size: 9px;
    }

    .rr-footer-brand p {
      font-size: 11px;
      line-height: 1.85;
    }

    .rr-footer-bottom {
      font-size: 9.5px;
      letter-spacing: 0.8px;
    }
  }


/* WordPress / WooCommerce integration */
html { scroll-behavior: smooth; }
body { color: #e8d5c0; font-family: 'Montserrat', sans-serif; }
body.admin-bar .rr-nav { top: 32px; }
@media (max-width: 782px) { body.admin-bar .rr-nav { top: 46px; } }

.rr-main { min-height: 55vh; }
.rr-content-shell { max-width: 1320px; margin: 0 auto; padding: 44px 34px 70px; }
.rr-page-title { font-family: 'Cormorant Garamond', serif; font-weight: 300; color:#e8d5c0; font-size: clamp(38px,5vw,58px); letter-spacing:2px; margin:0 0 24px; }

/* Keep WordPress defaults from leaking into the custom design. */
.rr-wrap *, .rr-wrap *::before, .rr-wrap *::after { box-sizing: border-box; }
.rr-wrap button, .rr-wrap input, .rr-wrap select, .rr-wrap textarea { font: inherit; }
.rr-wrap img { max-width: 100%; height: auto; }

/* Woo notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  border: 1px solid rgba(201,149,107,.38) !important;
  background: #0d0b09 !important;
  color: #e8d5c0 !important;
  padding: 14px 18px !important;
  margin: 0 0 20px !important;
  list-style: none !important;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { color:#c9956b !important; }

/* Classic Woo cart / checkout */
.rr-woo-page { background:#070605; min-height:60vh; padding: 44px 34px 72px; }
.rr-woo-inner { max-width:1180px; margin:0 auto; }
.rr-woo-page h1, .rr-woo-page h2, .rr-woo-page h3 { color:#e8d5c0; font-family:'Cormorant Garamond',serif; font-weight:300; }
.rr-woo-page a { color:#c9956b; }
.woocommerce table.shop_table { border:1px solid #2a2118 !important; border-radius:0 !important; color:#d5c0aa; background:#0a0908; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color:#2a2118 !important; padding:14px !important; }
.woocommerce-cart-form img { width:76px !important; }
.woocommerce .quantity .qty { width:72px; background:#080706; border:1px solid #3a2b20; color:#e8d5c0; padding:10px 8px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  border:1px solid #c9956b !important; border-radius:0 !important; background:rgba(201,149,107,.06) !important; color:#c9956b !important; text-transform:uppercase; letter-spacing:1.8px; font-size:10px !important; font-weight:400 !important; padding:13px 18px !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background:rgba(201,149,107,.14) !important; color:#e8d5c0 !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single {
  background:#080706 !important; border:1px solid #3a2b20 !important; border-radius:0 !important; color:#e8d5c0 !important; min-height:44px; padding:10px 12px;
}
.select2-dropdown { background:#0d0b09; color:#e8d5c0; border-color:#3a2b20; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background:#c9956b; color:#080706; }
.woocommerce-checkout #payment { background:#0d0b09 !important; border:1px solid #2a2118; border-radius:0 !important; }
.woocommerce-checkout #payment div.payment_box { background:#15100c !important; color:#c9b29d !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:#15100c !important; }
.woocommerce .cart_totals, .woocommerce-checkout-review-order { color:#c9b29d; }

/* Generic R&R product cards used by home and catalogue */
.rr-wc-card-image { aspect-ratio: auto; display:flex; align-items:center; justify-content:center; overflow:hidden; background:radial-gradient(circle at center,rgba(201,149,107,.18),transparent 48%),#0a0908; border-bottom:1px solid #2a2118; margin:-1px -1px 18px; }
.rr-wrap .rr-wc-card-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .28s ease; }
.rr-product-card:hover .rr-wc-card-image img, .rr-home-product-card:hover .rr-wc-card-image img { transform:scale(1.035); }

/* Product state pills */
.rr-state-pill { display:inline-flex; align-items:center; border:1px solid #c9956b35; padding:7px 9px; font-size:8px; letter-spacing:1.5px; text-transform:uppercase; white-space:nowrap; }
.rr-state-in-stock { border-color:rgba(121,167,108,.78); color:#b8d9a8; background:rgba(121,167,108,.10); }
.rr-state-preorder { border-color:rgba(201,149,107,.88); color:#e6b174; background:rgba(201,149,107,.11); }
.rr-state-out-of-stock { border-color:rgba(170,100,95,.55); color:#c59a96; background:rgba(170,100,95,.08); }

/* Screen reader */
.screen-reader-text { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.screen-reader-text:focus { clip:auto!important; width:auto!important; height:auto!important; margin:0!important; padding:12px 16px!important; background:#fff!important; color:#000!important; z-index:100000!important; top:5px!important; left:5px!important; }


/* Dispatch countdown ported from Shopify */

  .rr-dispatch-widget {
    border: 1px solid rgba(201,149,107,0.35);
    background:
      radial-gradient(circle at top left, rgba(201,149,107,0.08), transparent 40%),
      rgba(10,9,8,0.82);
    padding: 14px 16px;
    color: #9a8878;
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 18px 0;
  }

  .rr-dispatch-icon {
    width: 34px;
    height: 34px;
    border: 1px solid rgba(201,149,107,0.38);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c9956b;
    flex: 0 0 auto;
  }

  .rr-dispatch-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
  }

  .rr-dispatch-copy {
    min-width: 0;
  }

  .rr-dispatch-label {
    font-size: 9px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #c9956b;
    margin-bottom: 4px;
  }

  .rr-dispatch-main {
    font-size: 12px;
    letter-spacing: 1.1px;
    color: #e8d5c0;
    line-height: 1.6;
  }

  .rr-dispatch-sub {
    font-size: 10px;
    letter-spacing: 0.9px;
    color: #6f5d4c;
    line-height: 1.6;
    margin-top: 2px;
  }

  .rr-dispatch-time {
    color: #c9956b;
  }

  .rr-dispatch-widget.rr-dispatch-urgent {
    border-color: rgba(201,149,107,0.7);
    box-shadow: 0 0 16px rgba(201,149,107,0.08);
  }

  .rr-dispatch-widget.rr-dispatch-closed {
    border-color: rgba(201,149,107,0.25);
  }

  .rr-dispatch-widget.rr-dispatch-preorder {
    border-color: rgba(201,149,107,0.48);
    background:
      radial-gradient(circle at top left, rgba(201,149,107,0.11), transparent 42%),
      rgba(10,9,8,0.86);
  }

  .rr-dispatch-widget.rr-dispatch-preorder .rr-dispatch-main {
    color: #e8d5c0;
  }

  .rr-dispatch-widget.rr-dispatch-preorder .rr-dispatch-sub {
    color: #9a8878;
  }

  .rr-home-hero .rr-dispatch-widget {
    max-width: 520px;
    margin: 16px 0 0;
    padding: 12px 14px;
  }

  .rr-home-hero .rr-dispatch-icon {
    width: 32px;
    height: 32px;
  }

  .rr-home-hero .rr-dispatch-main {
    font-size: 11px;
  }

  .rr-home-hero .rr-dispatch-sub {
    font-size: 10px;
  }

  .rr-home-hero .rr-dispatch-widget {
    max-width: 440px;
    padding: 11px 13px;
    margin-top: 14px;
  }

  .rr-home-hero .rr-dispatch-label {
    font-size: 8px;
  }

  .rr-home-hero .rr-dispatch-main {
    font-size: 10.5px;
  }

  .rr-home-hero .rr-dispatch-sub {
    font-size: 9.5px;
  }

  @media (max-width: 640px) {
    .rr-dispatch-widget {
      align-items: flex-start;
    }

    .rr-dispatch-main {
      font-size: 11px;
    }
  }



/* R&R typography fidelity — mirrors the original Shopify storefront. */
html, body, .rr-wrap,
.rr-product-page, .rr-products-page, .rr-home,
.rr-announcement-bar, .rr-nav, .rr-footer,
.rr-product-info, .rr-product-summary, .rr-product-eyebrow,
.rr-research-warning, .rr-selector-heading, .rr-option-button,
.rr-format-info, .rr-product-price-label, .rr-stock-copy,
.rr-buy-row, .rr-product-tabs, .rr-product-tab-panel {
    font-family: 'Montserrat', sans-serif !important;
}

.rr-serif,
.rr-logo,
.rr-product-title-row h1,
.rr-live-price,
.rr-page-title,
.rr-woo-page h1,
.rr-woo-page h2,
.rr-woo-page h3,
.rr-footer-logo {
    font-family: 'Cormorant Garamond', serif !important;
}

.rr-product-title-row h1 {
    font-weight: 300 !important;
}

.rr-wrap,
.rr-product-page,
.rr-products-page,
.rr-home {
    font-weight: 300;
}


/* =========================================================
   R&R Checkout — polished classic WooCommerce checkout
   ========================================================= */
body.woocommerce-checkout .rr-woo-page {
  padding-top: 54px;
  padding-bottom: 92px;
}
body.woocommerce-checkout .rr-woo-inner {
  max-width: 1260px;
}
body.woocommerce-checkout .rr-page-title {
  margin-bottom: 34px;
}

/* Keep Woo's old float layout from collapsing into a narrow column. */
.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, .9fr);
  grid-template-rows: min-content 1fr;
  column-gap: 46px;
  row-gap: 0;
  align-items: start;
}
.woocommerce-checkout form.checkout #customer_details {
  grid-column: 1;
  grid-row: 1 / span 2;
  width: 100%;
  margin: 0;
}
.woocommerce-checkout form.checkout #customer_details::before,
.woocommerce-checkout form.checkout #customer_details::after {
  display: none;
}
.woocommerce-checkout form.checkout #customer_details .col-1,
.woocommerce-checkout form.checkout #customer_details .col-2 {
  float: none;
  width: 100%;
  max-width: none;
}
.woocommerce-checkout form.checkout #customer_details .col-2 {
  margin-top: 28px;
}
.woocommerce-checkout form.checkout #order_review_heading {
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 20px 22px 16px;
  border: 1px solid #2a2118;
  border-bottom: 0;
  background: #0b0908;
  font-size: 28px;
  line-height: 1.05;
  letter-spacing: 1.2px;
}
.woocommerce-checkout form.checkout #order_review {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #2a2118;
  background: #0b0908;
  padding: 0 22px 22px;
  color: #c9b29d;
}

/* Billing / shipping cards. */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  border: 1px solid #2a2118;
  background:
    radial-gradient(circle at top left, rgba(201,149,107,.055), transparent 32%),
    #0a0908;
  padding: 24px 26px 10px;
}
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
  margin-top: 18px;
}
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 {
  margin: 0 0 22px;
  font-size: 30px;
  line-height: 1;
  letter-spacing: 1.3px;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: flow-root;
}

/* Form typography and controls. */
.woocommerce-checkout form .form-row {
  margin: 0 0 17px;
  padding: 0;
}
.woocommerce-checkout form .form-row-first,
.woocommerce-checkout form .form-row-last {
  width: calc(50% - 7px);
}
.woocommerce-checkout form .form-row-first { float: left; }
.woocommerce-checkout form .form-row-last { float: right; }
.woocommerce-checkout form .form-row-wide { clear: both; }
.woocommerce-checkout form .form-row label {
  display: block;
  margin: 0 0 7px;
  color: #b79b82;
  font-size: 9px;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 1.45px;
  text-transform: uppercase;
}
.woocommerce-checkout form .form-row .required {
  color: #d89772;
}
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
  width: 100% !important;
  min-height: 46px;
  box-sizing: border-box;
  padding: 11px 13px;
  border: 1px solid #35271e !important;
  background: #080706 !important;
  color: #e8d5c0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: .45px;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.woocommerce-checkout form .form-row textarea {
  min-height: 112px;
  resize: vertical;
  line-height: 1.6;
}
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single {
  outline: 0;
  border-color: rgba(201,149,107,.82) !important;
  box-shadow: 0 0 0 1px rgba(201,149,107,.16) !important;
}
/* The floating dropdown is appended to body and must keep Select2's own width.
   Only the inline field container should fill its checkout form row. */
.woocommerce-checkout form .form-row .select2-container { width: 100% !important; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #e8d5c0;
  line-height: 24px;
  padding-left: 0;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px;
}

/* Coupon prompt. */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  max-width: 100%;
  margin-bottom: 26px !important;
  padding: 12px 15px !important;
  border-color: #2a2118 !important;
  background: #0a0908 !important;
  font-size: 10px;
  letter-spacing: .4px;
}
.woocommerce-checkout form.checkout_coupon {
  border: 1px solid #2a2118;
  border-radius: 0;
  background: #0a0908;
  margin: -10px 0 26px;
}

/* Order summary. */
.woocommerce-checkout #order_review table.shop_table {
  width: 100%;
  margin: 0;
  border: 0 !important;
  background: transparent;
  table-layout: auto;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td {
  padding: 14px 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid #2a2118 !important;
  vertical-align: top;
  font-size: 11px;
  line-height: 1.6;
}
.woocommerce-checkout #order_review table.shop_table thead th {
  color: #c9956b;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 1.45px;
  text-transform: uppercase;
}
.woocommerce-checkout #order_review table.shop_table th.product-total,
.woocommerce-checkout #order_review table.shop_table td.product-total,
.woocommerce-checkout #order_review table.shop_table tfoot td {
  text-align: right;
}
.woocommerce-checkout #order_review table.shop_table .product-name {
  color: #e2c8b0;
  padding-right: 18px !important;
}
.woocommerce-checkout #order_review table.shop_table .product-quantity {
  color: #8f7967;
}
.woocommerce-checkout #order_review table.shop_table tfoot th {
  color: #ab927c;
  font-weight: 400;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total th,
.woocommerce-checkout #order_review table.shop_table tfoot tr.order-total td {
  border-bottom: 0 !important;
  padding-top: 18px !important;
  color: #e8d5c0;
  font-family: 'Cormorant Garamond', serif;
  font-size: 21px;
  font-weight: 400;
}

/* Payment panel. */
.woocommerce-checkout #payment {
  margin-top: 20px;
  border: 1px solid #2a2118 !important;
  background: #080706 !important;
}
.woocommerce-checkout #payment ul.payment_methods {
  padding: 18px !important;
  border-bottom: 1px solid #2a2118 !important;
}
.woocommerce-checkout #payment ul.payment_methods li {
  line-height: 1.6;
}
.woocommerce-checkout #payment .place-order {
  padding: 18px !important;
  margin: 0 !important;
}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
  color: #8f7967;
  font-size: 9.5px;
  line-height: 1.75;
  margin-bottom: 16px;
}
.woocommerce-checkout #payment #place_order {
  width: 100%;
  min-height: 48px;
  float: none;
  margin: 0;
  border: 1px solid #c9956b !important;
  background: rgba(201,149,107,.08) !important;
  color: #dca274 !important;
  letter-spacing: 2px;
}
.woocommerce-checkout #payment #place_order:hover {
  background: #c9956b !important;
  color: #080706 !important;
}
.woocommerce-checkout #payment .woocommerce-info,
.woocommerce-checkout #payment .woocommerce-error {
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  padding: 16px 18px !important;
}

/* Validation errors should look intentional, not like browser defaults. */
.woocommerce-checkout .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid .select2-selection--single {
  border-color: #a75d55 !important;
}
.woocommerce-checkout .woocommerce-invalid-required-field label,
.woocommerce-checkout .woocommerce-error li {
  color: #d89b91 !important;
}

/* Order notes checkbox/heading cleanup. */
.woocommerce-checkout #ship-to-different-address {
  font-size: 24px;
}
.woocommerce-checkout #ship-to-different-address label {
  display: flex;
  gap: 10px;
  align-items: center;
}
.woocommerce-checkout #ship-to-different-address-checkbox {
  width: auto !important;
}

@media (max-width: 900px) {
  .woocommerce-checkout form.checkout.woocommerce-checkout {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    gap: 28px;
  }
  .woocommerce-checkout form.checkout #customer_details,
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review {
    grid-column: 1;
    grid-row: auto;
  }
  .woocommerce-checkout form.checkout #order_review_heading {
    margin-top: 6px;
  }
}

@media (max-width: 560px) {
  body.woocommerce-checkout .rr-woo-page {
    padding: 34px 18px 64px;
  }
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout .woocommerce-additional-fields {
    padding: 20px 17px 6px;
  }
  .woocommerce-checkout form .form-row-first,
  .woocommerce-checkout form .form-row-last {
    float: none;
    width: 100%;
  }
  .woocommerce-checkout form.checkout #order_review_heading {
    padding: 18px 17px 14px;
  }
  .woocommerce-checkout form.checkout #order_review {
    padding: 0 17px 17px;
  }
}

.rr-checkout-intro{max-width:720px;margin:-18px 0 28px;color:#806f60;font-size:10px;line-height:1.8;letter-spacing:.45px;}

/* =========================================================
   R&R Order received / thank-you page
   ========================================================= */
body.woocommerce-order-received .rr-woo-page {
  padding-top: 54px;
  padding-bottom: 92px;
}
body.woocommerce-order-received .rr-woo-inner {
  max-width: 1040px;
}
body.woocommerce-order-received .rr-page-title {
  margin-bottom: 14px;
}
body.woocommerce-order-received .rr-checkout-intro {
  max-width: 700px;
  margin: 0 0 34px;
}

.woocommerce-order-received .woocommerce-order {
  width: 100%;
  color: #c9b29d;
}
.woocommerce-order-received .woocommerce-notice--success,
.woocommerce-order-received .woocommerce-thankyou-order-received {
  margin: 0 0 22px !important;
  padding: 18px 20px !important;
  border: 1px solid rgba(201,149,107,.42) !important;
  background: rgba(201,149,107,.055) !important;
  color: #e8d5c0 !important;
  font-family: 'Cormorant Garamond', serif;
  font-size: 24px;
  line-height: 1.3;
  letter-spacing: .5px;
}

/* Replace Woo's raw bullet list with a compact order summary grid. */
.woocommerce-order-received ul.woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  width: 100%;
  margin: 0 0 28px !important;
  padding: 0 !important;
  list-style: none !important;
  border: 1px solid #2a2118;
  background: #0a0908;
}
.woocommerce-order-received ul.woocommerce-order-overview li {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border-right: 1px solid #2a2118 !important;
  color: #8f7967;
  font-size: 8.5px !important;
  line-height: 1.5;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}
.woocommerce-order-received ul.woocommerce-order-overview li:last-child {
  border-right: 0 !important;
}
.woocommerce-order-received ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 6px;
  color: #e8d5c0;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px !important;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: .25px;
  text-transform: none;
  overflow-wrap: anywhere;
}

/* Gateway instructions / supplementary order text. */
.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-notice) {
  margin: -8px 0 28px;
  padding: 13px 16px;
  border-left: 1px solid #c9956b;
  background: rgba(201,149,107,.035);
  color: #a88f79;
  font-size: 10.5px;
  line-height: 1.7;
  letter-spacing: .35px;
}

/* Order details card. */
.woocommerce-order-received .woocommerce-order-details {
  margin: 0 0 28px !important;
  padding: 24px 26px 18px;
  border: 1px solid #2a2118;
  background:
    radial-gradient(circle at top left, rgba(201,149,107,.05), transparent 34%),
    #0a0908;
}
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-customer-details h2 {
  margin: 0 0 18px !important;
  color: #e8d5c0;
  font-family: 'Cormorant Garamond', serif;
  font-size: 27px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 1px;
}
.woocommerce-order-received .woocommerce-order-details table.shop_table {
  width: 100%;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse;
  background: transparent;
}
.woocommerce-order-received .woocommerce-order-details table.shop_table th,
.woocommerce-order-received .woocommerce-order-details table.shop_table td {
  padding: 14px 8px !important;
  border: 0 !important;
  border-bottom: 1px solid #2a2118 !important;
  color: #c9b29d;
  font-size: 11px;
  line-height: 1.6;
  vertical-align: top;
}
.woocommerce-order-received .woocommerce-order-details table.shop_table thead th {
  color: #c9956b;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}
.woocommerce-order-received .woocommerce-order-details table.shop_table th:last-child,
.woocommerce-order-received .woocommerce-order-details table.shop_table td:last-child {
  text-align: right;
}
.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot th {
  color: #a99079;
  font-weight: 400;
}
.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot tr:last-child th,
.woocommerce-order-received .woocommerce-order-details table.shop_table tfoot tr:last-child td {
  color: #e8d5c0;
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
}
.woocommerce-order-received .woocommerce-order-details a {
  color: #d49a6d;
  text-decoration: none;
}
.woocommerce-order-received .woocommerce-order-details a:hover {
  color: #e8d5c0;
}

/* Billing / shipping details. */
.woocommerce-order-received .woocommerce-customer-details {
  margin: 0 !important;
}
.woocommerce-order-received .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.woocommerce-order-received .woocommerce-columns--addresses::before,
.woocommerce-order-received .woocommerce-columns--addresses::after {
  display: none;
}
.woocommerce-order-received .woocommerce-column--billing-address,
.woocommerce-order-received .woocommerce-column--shipping-address {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 23px 25px !important;
  border: 1px solid #2a2118;
  background: #0a0908;
}
.woocommerce-order-received .woocommerce-customer-details address {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #c9b29d;
  font-size: 11px;
  font-style: normal;
  line-height: 1.8;
  letter-spacing: .25px;
}
.woocommerce-order-received .woocommerce-customer-details address p {
  margin: 10px 0 0 !important;
  color: #a99079;
}

@media (max-width: 900px) {
  .woocommerce-order-received ul.woocommerce-order-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .woocommerce-order-received ul.woocommerce-order-overview li {
    border-bottom: 1px solid #2a2118 !important;
  }
  .woocommerce-order-received ul.woocommerce-order-overview li:nth-child(even) {
    border-right: 0 !important;
  }
  .woocommerce-order-received ul.woocommerce-order-overview li:last-child {
    grid-column: 1 / -1;
    border-bottom: 0 !important;
  }
}

@media (max-width: 620px) {
  body.woocommerce-order-received .rr-woo-page {
    padding: 34px 18px 64px;
  }
  .woocommerce-order-received ul.woocommerce-order-overview,
  .woocommerce-order-received .woocommerce-columns--addresses {
    grid-template-columns: 1fr;
  }
  .woocommerce-order-received ul.woocommerce-order-overview li,
  .woocommerce-order-received ul.woocommerce-order-overview li:nth-child(even) {
    border-right: 0 !important;
    border-bottom: 1px solid #2a2118 !important;
  }
  .woocommerce-order-received ul.woocommerce-order-overview li:last-child {
    grid-column: auto;
    border-bottom: 0 !important;
  }
  .woocommerce-order-received .woocommerce-order-details {
    padding: 20px 17px 14px;
  }
  .woocommerce-order-received .woocommerce-column--billing-address,
  .woocommerce-order-received .woocommerce-column--shipping-address {
    padding: 20px 17px !important;
  }
}


/* v1.0.8 branded empty-basket state */
.rr-empty-basket {
  max-width: 760px;
  margin: 40px auto 20px;
  padding: 58px 28px;
  border: .5px solid #2a2118;
  background: #0d0b09;
  text-align: center;
}
.rr-empty-basket-mark {
  width: 72px;
  height: 72px;
  margin: 0 auto 22px;
  display: grid;
  place-items: center;
  border: .5px solid rgba(201,149,107,.45);
  border-radius: 50%;
}
.rr-empty-basket-mark span {
  display: block;
  width: 30px;
  height: 1px;
  background: #c9956b;
  box-shadow: 0 -7px 0 rgba(201,149,107,.45), 0 7px 0 rgba(201,149,107,.45);
}
.rr-empty-basket h2 {
  margin: 0 0 12px;
  color: #e8d5c0;
  font-size: 34px;
  font-weight: 300;
  letter-spacing: 1px;
}
.rr-empty-basket p {
  max-width: 560px;
  margin: 0 auto 24px;
  color: #8f7a68;
  font-size: 12px;
  line-height: 1.9;
  letter-spacing: .5px;
}
.rr-empty-basket-button {
  display: inline-block;
  border: 1px solid #c9956b;
  padding: 13px 26px;
  color: #c9956b;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: 2.5px;
}
.rr-empty-basket-button:hover { background: rgba(201,149,107,.08); }
/* Readable muted copper copy; preserve the footer logo's own styling. */
.rr-footer-brand p,
.rr-footer-column a,
.rr-footer-bottom { color: #b09a85; }
.rr-footer-column a:hover { color: #e8d5c0; }
.rr-home .rr-dispatch-sub { color: #b09a85; }
@media(max-width:640px){
  .rr-empty-basket{margin-top:26px;padding:42px 20px;}
  .rr-empty-basket h2{font-size:29px;}
}
