/* ============================================================
   Incline Label — child theme custom styles
   ============================================================
   theme.json drives design tokens (color, type, spacing) and
   most block defaults. This file handles component-level
   details theme.json can't cleanly express: custom selectors,
   layered effects, pseudo-elements, and CSS transforms.

   Section backgrounds, padding, and borders are keyed off each
   section's className. The section markup uses smidgen/content-
   wrapper as the outermost block, smidgen/content-well inside
   for max-width, then smidgen/grid + smidgen/column for layout.
   ============================================================ */

/* ============================================================
   Section Wrappers
   ============================================================ */

.content-wrapper {
  margin-top: 0;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--wp--preset--color--black);
  border-bottom: 1px solid var(--wp--preset--color--gray-line);
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.hero-section {
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
  border-bottom: 1px solid var(--wp--preset--color--gray-line);
}

.shop-section {
  background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--black);
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.about-section {
  padding-top: 6rem;
  padding-bottom: 6rem;
  border-top: 1px solid var(--wp--preset--color--gray-line);
}

footer {
  background: var(--wp--preset--color--black);
  border-top: 1px solid var(--wp--preset--color--gray-line);
  margin-top: 0;
  padding-top: 4rem;
  padding-bottom: 2rem;
}

@media (max-width: 768px) {
  .hero-section {
    padding-top: 2rem;
    padding-bottom: 3rem;
  }
}

/* ============================================================
   Header Navigation Hover
   ============================================================ */

.site-header .wp-block-navigation-item__content {
  position: relative;
  padding: 0.25rem 0;
}

.site-header .wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--wp--preset--color--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.site-header .wp-block-navigation-item__content:hover::after {
  transform: scaleX(1);
}

/* ============================================================
   Footer Components
   ============================================================ */

.footer-heading {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: 1.1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  line-height: 1;
  margin: 0 0 1rem;
}

.footer-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-family: var(--wp--preset--font-family--ui);
}

.footer-list li {
  margin-bottom: 0.5rem;
  font-size: 0.9rem;
  color: #c8c8c8;
}

.footer-list a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.footer-list a:hover {
  color: var(--wp--preset--color--gold);
}

/* ---------- Newsletter Signup Form ---------- */
.signup-form {
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
  flex-wrap: wrap;
}

.signup-form input[type="email"] {
  flex: 1 1 200px;
  padding: 0.75rem 1rem;
  background: transparent;
  border: 1px solid var(--wp--preset--color--gray);
  color: var(--wp--preset--color--off-white);
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.875rem;
}

.signup-form input[type="email"]::placeholder {
  color: var(--wp--preset--color--gray);
}

.signup-form input[type="email"]:focus {
  outline: none;
  border-color: var(--wp--preset--color--gold);
}

.signup-form button {
  padding: 0.75rem 1.25rem;
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--black);
  border: 2px solid var(--wp--preset--color--gold);
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.signup-form button:hover {
  background: var(--wp--preset--color--off-white);
  border-color: var(--wp--preset--color--off-white);
}

/* ---------- Footer Bottom ---------- */
.footer-bottom {
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px solid var(--wp--preset--color--gray-line);
}

/* ============================================================
   Hero
   ============================================================ */

.hero-eyebrow {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  font-size: 0.9rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  margin: 0 0 1.5rem;
}

.hero-eyebrow .star {
  color: var(--wp--preset--color--gold);
  margin: 0 0.4em;
  opacity: 0.85;
}

.hero-headline .gold {
  color: var(--wp--preset--color--gold);
}

.hero-cta-row {
  margin-top: 1.5rem;
}

.hero-meta {
  font-family: var(--wp--preset--font-family--ui);
  font-weight: 500;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  color: var(--wp--preset--color--gray);
  margin: 0;
}

/* ============================================================
   Shirt panels — visual representations of shirt designs.
   Used in the hero feature and product card placeholders.
   ============================================================ */

/* ============================================================
   Hero Feature Product Card
   ============================================================
   The hero's right-column featured product. Renders as a white
   "display case" against the dark hero canvas — product mockup
   sits inside with consistent padding, caption pinned to the
   card's interior on a hairline divider. Wrapping anchor lifts
   the whole card on hover with a gold border highlight.
   ============================================================ */

.hero-feature-link {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #ffffff;
  padding: 2rem 2rem 1.5rem;
  max-width: 420px;
  margin-left: auto;
  box-shadow:
    0 0 0 1px var(--wp--preset--color--gray-line),
    0 24px 48px rgba(0, 0, 0, 0.4);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.hero-feature-link:hover {
  transform: translateY(-4px);
  box-shadow:
    0 0 0 1px var(--wp--preset--color--gold),
    0 32px 56px rgba(0, 0, 0, 0.5);
}

.hero-feature-link,
.hero-feature-link * {
  text-decoration: none;
}

.hero-feature-img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 1.5rem;
}

.hero-feature-caption {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: 1rem;
  border-top: 1px solid var(--wp--preset--color--gray-line);
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-style: italic;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--wp--preset--color--black);
}

.hero-feature-caption strong {
  color: var(--wp--preset--color--black);
  font-weight: 900;
}

/* ---------- Shirt color variants ---------- */

.shirt-black {
  background: var(--wp--preset--color--black);
}
.shirt-black .design {
  color: var(--wp--preset--color--gold);
}

.shirt-black-white {
  background: var(--wp--preset--color--black);
}
.shirt-black-white .design {
  color: var(--wp--preset--color--off-white);
}

.shirt-navy {
  background: #14213d;
}
.shirt-navy .design {
  color: var(--wp--preset--color--off-white);
}

.shirt-gold {
  background: var(--wp--preset--color--gold);
}
.shirt-gold .design {
  color: var(--wp--preset--color--black);
}

.shirt-green {
  background: #1a4d2e;
}
.shirt-green .design {
  color: var(--wp--preset--color--gold);
}

.shirt-white {
  background: #f0ede5;
  border: 1px solid #ddd;
}
.shirt-white .design {
  color: var(--wp--preset--color--black);
}

.shirt-red {
  background: #8b1a1a;
}
.shirt-red .design {
  color: var(--wp--preset--color--gold);
}

/* ---------- Design text — the printed graphic on each shirt ---------- */

.design {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  text-transform: uppercase;
  text-align: center;
  line-height: 0.9;
  letter-spacing: 0.005em;
  font-size: clamp(3rem, 8vw, 6rem);
}

.design.italic {
  font-style: italic;
}

.design.outline-white {
  text-shadow:
    -1.5px -1.5px 0 #fff,
    1.5px -1.5px 0 #fff,
    -1.5px 1.5px 0 #fff,
    1.5px 1.5px 0 #fff;
}

.design.outline-black {
  text-shadow:
    -1.5px -1.5px 0 #0a0a0a,
    1.5px -1.5px 0 #0a0a0a,
    -1.5px 1.5px 0 #0a0a0a,
    1.5px 1.5px 0 #0a0a0a;
}

.design.starter-white {
  text-shadow:
    -1.5px -1.5px 0 #fff,
    1.5px -1.5px 0 #fff,
    -1.5px 1.5px 0 #fff,
    1.5px 1.5px 0 #fff,
    2px 2px 0 rgba(0, 0, 0, 0.5);
}

.design.starter-black {
  text-shadow:
    -1.5px -1.5px 0 #0a0a0a,
    1.5px -1.5px 0 #0a0a0a,
    -1.5px 1.5px 0 #0a0a0a,
    1.5px 1.5px 0 #0a0a0a,
    2px 2px 0 rgba(0, 0, 0, 0.4);
}

/* ============================================================
   Shop Section
   ============================================================ */

.shop-header {
  margin-bottom: 3rem;
  padding-bottom: 1.5rem;
  border-bottom: 2px solid var(--wp--preset--color--black);
}

.shop-title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  line-height: 1;
  text-transform: uppercase;
  color: var(--wp--preset--color--black);
  margin: 0;
}

.shop-count {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-style: italic;
  font-size: 1rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--wp--preset--color--black);
  margin: 0;
}

/* ============================================================
   Product Card
   ============================================================ */

.product-card {
  margin-bottom: 2.5rem;
  cursor: pointer;
}

.product-image {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  transition: transform 0.4s ease;
}

.product-card:hover .product-image {
  transform: translateY(-4px);
}

.product-meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: 1rem;
  font-family: var(--wp--preset--font-family--display);
}

.product-name {
  font-size: 1.15rem;
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.product-price {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--wp--preset--color--black);
}

/* ---------- Product Tag (Heritage / Curated / Yinzer) ---------- */
.product-tag {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.3rem 0.6rem;
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(4px);
}

.shirt-black .product-tag,
.shirt-black-white .product-tag,
.shirt-navy .product-tag,
.shirt-green .product-tag,
.shirt-red .product-tag {
  color: var(--wp--preset--color--off-white);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.shirt-gold .product-tag {
  color: var(--wp--preset--color--black);
  border: 1px solid rgba(0, 0, 0, 0.3);
  background: rgba(255, 255, 255, 0.2);
}

.shirt-white .product-tag {
  color: var(--wp--preset--color--black);
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: rgba(255, 255, 255, 0.5);
}

/* ============================================================
   Design Size Modifiers
   ============================================================ */

.design-large {
  font-size: clamp(2rem, 6vw, 3.5rem);
}

.design-mid {
  font-size: clamp(1.5rem, 4.5vw, 2.5rem);
}

.design-stack {
  font-size: clamp(1.1rem, 3vw, 1.6rem);
  letter-spacing: 0.05em;
}

.design-stack span {
  display: block;
}

.design-tiny {
  font-size: clamp(0.85rem, 2vw, 1.1rem);
  letter-spacing: 0.04em;
  line-height: 1.3;
  text-shadow: none !important;
  font-style: normal !important;
}

.design-tiny span {
  display: block;
}

/* ============================================================
   About / Brand Statement
   ============================================================ */

.about-eyebrow {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  font-size: 0.9rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  margin: 0 0 1.5rem;
}

.about-eyebrow .star {
  color: var(--wp--preset--color--gold);
  margin-right: 0.4em;
  opacity: 0.85;
}

.about-heading {
  font-size: clamp(2.5rem, 5vw, 4rem);
  line-height: 0.95;
  margin: 0 0 1.5rem;
}

.about-body p {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1.05rem;
  line-height: 1.65;
  color: #d8d8d8;
  max-width: 32em;
}

.about-body p + p {
  margin-top: 1rem;
}

.about-image {
  aspect-ratio: 4 / 5;
  background: var(--wp--preset--color--charcoal);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.75rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gray);
}

/* ============================================================
   Product Pages (Single Product)
   ============================================================ */

.product-section {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.product-breadcrumbs {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-style: italic;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gray);
  margin-bottom: 2rem;
}

.product-breadcrumbs a {
  color: inherit;
  text-decoration: none;
}

.product-breadcrumbs a:hover {
  color: var(--wp--preset--color--gold);
}

.product-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 0.95;
  margin: 0 0 1rem;
}

.product-page-price {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  font-size: 1.75rem;
  color: var(--wp--preset--color--gold);
  margin-bottom: 1.5rem;
}

.product-summary {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1rem;
  line-height: 1.6;
  color: #d8d8d8;
  margin-bottom: 2rem;
}

.product-description {
  margin-top: 5rem;
  padding-top: 3rem;
  border-top: 1px solid var(--wp--preset--color--gray-line);
}

.product-description h2 {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  margin: 0 0 1.5rem;
}

.product-description p {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1rem;
  line-height: 1.65;
  color: #d8d8d8;
  max-width: 36em;
}

/* ============================================================
   Related Products
   ============================================================ */

.related-section {
  background: var(--wp--preset--color--charcoal);
  padding-top: 5rem;
  padding-bottom: 5rem;
  border-top: 1px solid var(--wp--preset--color--gray-line);
}

.related-heading {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  margin: 0 0 2.5rem;
  text-align: center;
}

/* ============================================================
   404 / Error Pages
   ============================================================ */

.error-section {
  padding-top: 6rem;
  padding-bottom: 6rem;
  text-align: center;
}

.error-code {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(6rem, 18vw, 12rem);
  line-height: 0.85;
  letter-spacing: -0.02em;
  color: var(--wp--preset--color--gold);
  margin: 0 0 1rem;
  text-shadow:
    -3px -3px 0 #fff,
    3px -3px 0 #fff,
    -3px 3px 0 #fff,
    3px 3px 0 #fff,
    6px 6px 0 rgba(0, 0, 0, 0.5);
}

.error-title {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  margin: 0 0 1.5rem;
}

.error-text {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1.05rem;
  line-height: 1.6;
  color: #d8d8d8;
  max-width: 32em;
  margin: 0 auto 2.5rem;
}

.error-cta {
  justify-content: center;
}

/* ============================================================
   Search Results
   ============================================================ */

.search-section {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

/* Overrides h1 hero-size default — search title is more functional than hero */
.search-title {
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 0.95;
  margin: 0 0 2rem;
}

/* ---------- Refinement Search Form ---------- */
.search-form-refine {
  margin-bottom: 3rem;
}

.search-form-refine input[type="search"] {
  background: transparent;
  border: 1px solid var(--wp--preset--color--gray);
  color: var(--wp--preset--color--off-white);
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1rem;
  padding: 0.75rem 1rem;
}

.search-form-refine input[type="search"]::placeholder {
  color: var(--wp--preset--color--gray);
}

.search-form-refine input[type="search"]:focus {
  outline: none;
  border-color: var(--wp--preset--color--gold);
}

.search-form-refine button {
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--black);
  border: 2px solid var(--wp--preset--color--gold);
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 0.75rem 1.25rem;
  cursor: pointer;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.search-form-refine button:hover {
  background: var(--wp--preset--color--off-white);
  border-color: var(--wp--preset--color--off-white);
}

/* ---------- Per-Result ---------- */
.search-result {
  padding: 1.5rem 0;
  border-top: 1px solid var(--wp--preset--color--gray-line);
}

.search-result:last-of-type {
  border-bottom: 1px solid var(--wp--preset--color--gray-line);
}

.search-result-title {
  font-size: 1.5rem;
  margin: 0 0 0.5rem;
}

.search-result-title a {
  color: var(--wp--preset--color--off-white);
  text-decoration: none;
}

.search-result-title a:hover {
  color: var(--wp--preset--color--gold);
}

.search-result-excerpt {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1rem;
  line-height: 1.6;
  color: #d8d8d8;
  margin: 0;
  max-width: 36em;
}

/* ---------- No Results State ---------- */
.no-results-text {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1.05rem;
  line-height: 1.6;
  color: #d8d8d8;
}

/* ============================================================
   Contact Form 7
   ============================================================ */

.wpcf7-form {
  margin: 0;
}

/* Each field wraps in a <p> by default */
.wpcf7-form p {
  margin: 0 0 1.5rem;
}

/* Field labels — small italic display type, on their own line */
.wpcf7-form label {
  display: block;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-style: italic;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
}

/* Reset text-transform on the inputs so they don't inherit uppercase from labels */
.wpcf7-form input,
.wpcf7-form textarea {
  text-transform: none;
  letter-spacing: normal;
  font-style: normal;
}

/* Text and email inputs + textarea share the same shell */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
  width: 100%;
  max-width: 100%;
  padding: 0.75rem 1rem;
  margin-top: 0.5rem;
  background: transparent;
  border: 1px solid var(--wp--preset--color--gray);
  color: var(--wp--preset--color--off-white);
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1rem;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.wpcf7-form input[type="text"]::placeholder,
.wpcf7-form input[type="email"]::placeholder,
.wpcf7-form textarea::placeholder {
  color: var(--wp--preset--color--gray);
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: var(--wp--preset--color--gold);
}

.wpcf7-form textarea {
  min-height: 160px;
  resize: vertical;
}

/* ---------- Submit button ---------- */
.wpcf7-form .wpcf7-submit {
  padding: 0.9rem 1.75rem;
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--black);
  border: 3px solid var(--wp--preset--color--black);
  border-radius: 0;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.wpcf7-form .wpcf7-submit:hover {
  background: var(--wp--preset--color--off-white);
  border-color: var(--wp--preset--color--off-white);
  color: var(--wp--preset--color--black);
}

/* ---------- Response messages ---------- */
.wpcf7-response-output {
  margin: 1.5rem 0 0;
  padding: 1rem 1.25rem;
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.95rem;
  line-height: 1.5;
}

.wpcf7-form.sent .wpcf7-response-output {
  border: 1px solid var(--wp--preset--color--gold);
  color: var(--wp--preset--color--gold);
  background: rgba(255, 184, 28, 0.08);
}

.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output {
  border: 1px solid #c44;
  color: #f08585;
  background: rgba(196, 68, 68, 0.08);
}

/* ---------- Inline field validation ---------- */
.wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.4rem;
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.85rem;
  color: #f08585;
  font-style: italic;
  letter-spacing: normal;
  text-transform: none;
}

.wpcf7-form .wpcf7-not-valid {
  border-color: #c44;
}

/* ---------- AJAX spinner ---------- */
.wpcf7-spinner {
  margin-left: 1rem;
  background-color: var(--wp--preset--color--gold);
}

/* ==========================================================================
   Product description tables (size charts, spec tables)
   ========================================================================== */

#size-guide {
  width: 100%;
  max-width: 600px;
  margin: 1.5rem 0;
  border-collapse: collapse;
  font-family: var(--wp--preset--font-family--barlow-condensed);
}

#size-guide thead th {
  background: var(--wp--preset--color--charcoal);
  color: var(--wp--preset--color--gold);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.875rem;
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 2px solid var(--wp--preset--color--gold);
}

#size-guide tbody td {
  padding: 0.65rem 1rem;
  border-top: 1px solid var(--wp--preset--color--gray-line);
  color: var(--wp--preset--color--off-white);
  font-size: 0.95rem;
}

#size-guide tbody td:first-child {
  font-weight: 600;
  white-space: nowrap;
}

/* ============================================================
   WooCommerce — Login & My Account
   ============================================================
   The login page and My Account dashboard share form patterns
   and link structures, so they're handled together. Both pages
   need to feel like brand documents, not default WooCommerce
   templates.

   The login form uses the same transparent-input-with-gold-
   focus treatment as Contact Form 7, unifying form UI across
   the site.
   ============================================================ */

/* ============================================================
   Login Form
   ============================================================ */

.woocommerce form.woocommerce-form-login {
  max-width: 480px;
  margin: 0;
  padding: 2.5rem;
  border: 1px solid var(--wp--preset--color--gray-line);
  background: transparent;
}

.woocommerce form.woocommerce-form-login p {
  margin: 0 0 1.5rem;
}

.woocommerce form.woocommerce-form-login label {
  display: block;
  margin-bottom: 0.5rem;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-style: italic;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
}

.woocommerce form.woocommerce-form-login label .required {
  color: var(--wp--preset--color--gold);
  text-decoration: none;
}

.woocommerce form.woocommerce-form-login input[type="text"],
.woocommerce form.woocommerce-form-login input[type="email"],
.woocommerce form.woocommerce-form-login input[type="password"] {
  width: 100%;
  padding: 0.75rem 1rem;
  background: transparent;
  border: 1px solid var(--wp--preset--color--gray);
  color: var(--wp--preset--color--off-white);
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1rem;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.woocommerce form.woocommerce-form-login input[type="text"]:focus,
.woocommerce form.woocommerce-form-login input[type="email"]:focus,
.woocommerce form.woocommerce-form-login input[type="password"]:focus {
  outline: none;
  border-color: var(--wp--preset--color--gold);
}

.woocommerce form.woocommerce-form-login .password-input {
  display: block;
  position: relative;
}

.woocommerce form.woocommerce-form-login .show-password-input {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--wp--preset--color--gray);
  cursor: pointer;
}

.woocommerce form.woocommerce-form-login .show-password-input:hover {
  color: var(--wp--preset--color--gold);
}

/* ---------- Remember-me checkbox row ---------- */

.woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  margin: 0 0 0 1rem;
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.95rem;
  color: var(--wp--preset--color--off-white);
  cursor: pointer;
}

.woocommerce
  form.woocommerce-form-login
  .woocommerce-form-login__rememberme
  input {
  margin-right: 0.5rem;
  accent-color: var(--wp--preset--color--gold);
}

.woocommerce form.woocommerce-form-login .form-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

/* ---------- Login submit button ---------- */

.woocommerce form.woocommerce-form-login button[name="login"],
.woocommerce form.woocommerce-form-login .woocommerce-form-login__submit {
  padding: 0.9rem 1.75rem;
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--black);
  border: 2px solid var(--wp--preset--color--gold);
  border-radius: 0;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.woocommerce form.woocommerce-form-login button[name="login"]:hover,
.woocommerce form.woocommerce-form-login .woocommerce-form-login__submit:hover {
  background: var(--wp--preset--color--off-white);
  border-color: var(--wp--preset--color--off-white);
}

/* ---------- Lost password link ---------- */

.woocommerce form.woocommerce-form-login .lost_password {
  margin: 1.5rem 0 0;
}

.woocommerce form.woocommerce-form-login .lost_password a,
.woocommerce-LostPassword a {
  color: var(--wp--preset--color--gold);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.9rem;
  transition: color 0.2s ease;
}

.woocommerce form.woocommerce-form-login .lost_password a:hover,
.woocommerce-LostPassword a:hover {
  color: var(--wp--preset--color--off-white);
}

/* ============================================================
   My Account Dashboard
   ============================================================
   Two-column layout: navigation sidebar + dashboard content
   area. Sidebar gets the brand treatment with italic display
   type and gold hover states. Content area uses standard body
   typography with linked elements in gold.
   ============================================================ */

.woocommerce-MyAccount-navigation {
  border-right: 1px solid var(--wp--preset--color--gray-line);
  padding-right: 2rem;
}

@media (max-width: 768px) {
  .woocommerce-MyAccount-navigation {
    border-right: none;
    border-bottom: 1px solid var(--wp--preset--color--gray-line);
    padding-right: 0;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce-MyAccount-navigation ul li {
  margin: 0 0 0.5rem;
  padding: 0;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 0.65rem 0;
  color: var(--wp--preset--color--off-white);
  text-decoration: none;
  transition: color 0.2s ease;
  border-bottom: 1px solid transparent;
}

.woocommerce-MyAccount-navigation ul li a:hover {
  color: var(--wp--preset--color--gold);
}

.woocommerce-MyAccount-navigation ul li.is-active a {
  color: var(--wp--preset--color--gold);
  border-bottom-color: var(--wp--preset--color--gold);
}

/* ---------- Dashboard content area ---------- */

.woocommerce-MyAccount-content {
  padding-left: 2rem;
}

@media (max-width: 768px) {
  .woocommerce-MyAccount-content {
    padding-left: 0;
  }
}

.woocommerce-MyAccount-content p {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1.05rem;
  line-height: 1.65;
  color: #d8d8d8;
  margin-bottom: 1.25rem;
}

.woocommerce-MyAccount-content p strong {
  color: var(--wp--preset--color--off-white);
  font-weight: 700;
}

.woocommerce-MyAccount-content p a {
  color: var(--wp--preset--color--gold);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.woocommerce-MyAccount-content p a:hover {
  color: var(--wp--preset--color--off-white);
}

/* ---------- Orders table inside My Account ---------- */

.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-MyAccount-content table.shop_table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
  font-family: var(--wp--preset--font-family--ui);
}

.woocommerce-MyAccount-content .woocommerce-orders-table thead th,
.woocommerce-MyAccount-content table.shop_table thead th {
  background: var(--wp--preset--color--charcoal);
  color: var(--wp--preset--color--gold);
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.875rem;
  padding: 0.75rem 1rem;
  text-align: left;
  border-bottom: 2px solid var(--wp--preset--color--gold);
}

.woocommerce-MyAccount-content .woocommerce-orders-table tbody td,
.woocommerce-MyAccount-content table.shop_table tbody td {
  padding: 0.85rem 1rem;
  border-top: 1px solid var(--wp--preset--color--gray-line);
  color: var(--wp--preset--color--off-white);
  font-size: 0.95rem;
}

.woocommerce-MyAccount-content .woocommerce-orders-table tbody td a,
.woocommerce-MyAccount-content table.shop_table tbody td a {
  color: var(--wp--preset--color--gold);
  text-decoration: none;
}

.woocommerce-MyAccount-content .woocommerce-orders-table tbody td a:hover,
.woocommerce-MyAccount-content table.shop_table tbody td a:hover {
  color: var(--wp--preset--color--off-white);
}

/* ---------- "Browse products" empty state ---------- */

.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-Message {
  margin: 1.5rem 0;
  padding: 1.25rem 1.5rem;
  background: rgba(255, 184, 28, 0.08);
  border: 1px solid var(--wp--preset--color--gold);
  border-left-width: 4px;
  color: var(--wp--preset--color--off-white);
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.95rem;
  line-height: 1.6;
}

.woocommerce-MyAccount-content .woocommerce-info a,
.woocommerce-MyAccount-content .woocommerce-Message a {
  color: var(--wp--preset--color--gold);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* ---------- Account details / edit address forms ---------- */

.woocommerce-MyAccount-content form .form-row {
  margin: 0 0 1.5rem;
}

.woocommerce-MyAccount-content form label {
  display: block;
  margin-bottom: 0.5rem;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-style: italic;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
}

.woocommerce-MyAccount-content form input[type="text"],
.woocommerce-MyAccount-content form input[type="email"],
.woocommerce-MyAccount-content form input[type="tel"],
.woocommerce-MyAccount-content form input[type="password"],
.woocommerce-MyAccount-content form select,
.woocommerce-MyAccount-content form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  background: transparent;
  border: 1px solid var(--wp--preset--color--gray);
  color: var(--wp--preset--color--off-white);
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1rem;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.woocommerce-MyAccount-content form input:focus,
.woocommerce-MyAccount-content form select:focus,
.woocommerce-MyAccount-content form textarea:focus {
  outline: none;
  border-color: var(--wp--preset--color--gold);
}

.woocommerce-MyAccount-content form button[type="submit"],
.woocommerce-MyAccount-content form .button {
  padding: 0.9rem 1.75rem;
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--black);
  border: 2px solid var(--wp--preset--color--gold);
  border-radius: 0;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.woocommerce-MyAccount-content form button[type="submit"]:hover,
.woocommerce-MyAccount-content form .button:hover {
  background: var(--wp--preset--color--off-white);
  border-color: var(--wp--preset--color--off-white);
}

/* ============================================================
   Info Pages (About, Shipping, Returns, Contact)
   ============================================================
   These pages use a two-column structure: main content on the
   left, info-sidebar on the right. The block editor handles the
   semantic structure via Columns + the info-sidebar pattern;
   this CSS handles spacing, typography rhythm, and sidebar
   component styling.

   Pages have a black background (inherited from the body) and
   left-align all content. Content max-width keeps the reading
   measure comfortable (60-70ch) without sprawl.
   ============================================================ */

/* ---------- Main content column ---------- */

.page-content,
.entry-content > .wp-block-columns {
  padding-top: 4rem;
  padding-bottom: 6rem;
}

.entry-content > .wp-block-columns > .wp-block-column:first-child {
  max-width: 36em;
}

.entry-content > .wp-block-columns > .wp-block-column:first-child > h1,
.entry-content > .wp-block-columns > .wp-block-column:first-child > h2,
.entry-content > .wp-block-columns > .wp-block-column:first-child > h3 {
  margin-top: 0;
}

.entry-content > .wp-block-columns > .wp-block-column:first-child > h2 {
  margin-top: 3rem;
}

.entry-content > .wp-block-columns > .wp-block-column:first-child > h3 {
  margin-top: 2.5rem;
}

.entry-content > .wp-block-columns > .wp-block-column:first-child > p {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1.05rem;
  line-height: 1.65;
  color: #d8d8d8;
  margin-bottom: 1.25rem;
}

.entry-content > .wp-block-columns > .wp-block-column:first-child a {
  color: var(--wp--preset--color--gold);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.entry-content > .wp-block-columns > .wp-block-column:first-child a:hover {
  color: var(--wp--preset--color--off-white);
}

/* ============================================================
   Info Sidebar
   ============================================================
   Renders inside the right column of info pages. Two blocks
   stacked: help navigation + latest shirts. Sticky positioning
   so it follows the reader down long pages.
   ============================================================ */

.info-sidebar {
  position: sticky;
  top: 6rem;
  padding-left: 2rem;
  border-left: 1px solid var(--wp--preset--color--gray-line);
}

@media (max-width: 768px) {
  .info-sidebar {
    position: static;
    margin-top: 4rem;
    padding-left: 0;
    padding-top: 3rem;
    border-left: none;
    border-top: 1px solid var(--wp--preset--color--gray-line);
  }
}

.info-sidebar-block {
  margin-bottom: 3rem;
}

.info-sidebar-block:last-child {
  margin-bottom: 0;
}

.info-sidebar-heading {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: 1rem !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  margin: 0 0 1rem !important;
}

/* ---------- Sidebar nav (Help links) ---------- */

.info-sidebar-nav {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
}

.info-sidebar-nav li {
  margin-bottom: 0.5rem;
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.95rem;
}

.info-sidebar-nav a {
  color: var(--wp--preset--color--off-white);
  text-decoration: none;
  transition: color 0.2s ease;
}

.info-sidebar-nav a:hover {
  color: var(--wp--preset--color--gold);
}

/* ---------- Sidebar meta line (email / shop link) ---------- */

.info-sidebar-meta {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.875rem;
  color: var(--wp--preset--color--gray);
  margin: 1.25rem 0 0;
  line-height: 1.5;
}

.info-sidebar-meta a {
  color: var(--wp--preset--color--gold);
  text-decoration: none;
  transition: color 0.2s ease;
}

.info-sidebar-meta a:hover {
  color: var(--wp--preset--color--off-white);
}

/* ---------- Sidebar product list ---------- */

.info-sidebar-products {
  margin-top: 1rem;
}

.info-sidebar-products .wc-block-product-template {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}

.info-sidebar-products .wc-block-product {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 0 1rem;
  margin: 0 !important;
}

.info-sidebar-products .wc-block-components-product-image {
  background: #ffffff;
  padding: 0.25rem;
  grid-row: 1 / span 2;
  grid-column: 1;
  align-self: center;
}

.info-sidebar-products .wc-block-components-product-image img {
  display: block;
  width: 100%;
  height: auto;
}

.info-sidebar-products .wp-block-post-title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  font-size: 0.875rem !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 !important;
  line-height: 1.2;
  grid-column: 2;
  align-self: end;
}

.info-sidebar-products .wp-block-post-title a {
  color: var(--wp--preset--color--off-white);
  text-decoration: none;
  transition: color 0.2s ease;
}

.info-sidebar-products .wp-block-post-title a:hover {
  color: var(--wp--preset--color--gold);
}

.info-sidebar-products .wc-block-components-product-price {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.85rem;
  color: var(--wp--preset--color--gray);
  margin: 0 !important;
  grid-column: 2;
  align-self: start;
}

/* ============================================================
   Info Page Hero
   ============================================================
   Top-of-page hero band for About, Shipping, Returns, Contact.
   Mirrors the homepage hero rhythm but is single-column —
   eyebrow, large H1, single-line lede. Sits above the two-
   column body content + sidebar area.
   ============================================================ */

.info-hero {
  padding-top: 4rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid var(--wp--preset--color--gray-line);
}

@media (max-width: 768px) {
  .info-hero {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.info-hero-eyebrow {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  font-size: 0.9rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  margin: 0 0 1.5rem;
}

.info-hero-eyebrow .star {
  color: var(--wp--preset--color--gold);
  margin-right: 0.4em;
  opacity: 0.85;
}

.info-hero-headline {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(3.5rem, 9vw, 7rem);
  line-height: 0.9;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
  margin: 0 0 1.5rem;
}

.info-hero-lede {
  font-family: var(--wp--preset--font-family--ui);
  font-weight: 400;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  line-height: 1.5;
  color: #d8d8d8;
  margin: 0;
  max-width: 32em;
}

/* ============================================================
   Info Page Body H2 — visual differentiation from H1
   ============================================================
   Within the info-page content column, secondary headings get
   a smaller gold treatment with a leading rule. Creates clear
   visual hierarchy against the hero H1 above.
   ============================================================ */

.entry-content > .wp-block-columns > .wp-block-column:first-child > h2 {
  position: relative;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  margin: 4rem 0 1.5rem;
  padding-top: 2rem;
  border-top: 1px solid var(--wp--preset--color--gray-line);
}

.entry-content
  > .wp-block-columns
  > .wp-block-column:first-child
  > h2:first-child {
  margin-top: 0;
}

/* H3 within body content — quieter, no rule */

.entry-content > .wp-block-columns > .wp-block-column:first-child > h3 {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  font-size: clamp(1.15rem, 2vw, 1.5rem);
  line-height: 1.1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
  margin: 2.5rem 0 1rem;
}

/* ============================================================
   Account Hero
   ============================================================
   Shared hero used by both the Login state (logged-out) and the
   My Account dashboard state (logged-in). Output via PHP hooks
   in functions.php. Matches the info-hero rhythm but sized for
   the auth context.
   ============================================================ */

.account-hero {
  padding-top: 1rem;
  padding-bottom: 3.5rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid var(--wp--preset--color--gray-line);
}

@media (max-width: 768px) {
  .account-hero {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
    margin-bottom: 2rem;
  }
}

.account-hero-eyebrow {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  font-size: 0.9rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  margin: 0 0 1.25rem;
}

.account-hero-eyebrow .star {
  color: var(--wp--preset--color--gold);
  margin-right: 0.4em;
  opacity: 0.85;
}

.account-hero-headline {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(3rem, 7vw, 5.5rem);
  line-height: 0.95;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
  margin: 0 0 1.25rem;
}

.account-hero-lede {
  font-family: var(--wp--preset--font-family--ui);
  font-weight: 400;
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  line-height: 1.5;
  color: #d8d8d8;
  margin: 0;
  max-width: 32em;
}

/* ============================================================
   Hide WC's default "Login" h2 — the account-hero owns the H1
   ============================================================ */

.woocommerce-account .woocommerce > h2 {
  display: none;
}

/* ============================================================
   Login form layout fixes
   ============================================================ */

.woocommerce form.woocommerce-form-login {
  max-width: 480px;
  margin: 0;
}

/* Make sure the password input span and inner input both fill
   the form-row width so password and username align cleanly. */

.woocommerce form.woocommerce-form-login .password-input {
  display: block;
  width: 100%;
  position: relative;
}

.woocommerce
  form.woocommerce-form-login
  .password-input
  input[type="password"] {
  width: 100%;
}

/* Remember-me + submit row — align the checkbox label vertically
   with the submit button, with a clean gap between them. */

.woocommerce form.woocommerce-form-login .form-row:has(button[name="login"]) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

.woocommerce form.woocommerce-form-login .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  margin: 0;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  font-style: italic;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
  cursor: pointer;
}

.woocommerce
  form.woocommerce-form-login
  .woocommerce-form-login__rememberme
  input {
  margin-right: 0.5rem;
  accent-color: var(--wp--preset--color--gold);
}

/* ============================================================
   My Account → Addresses sub-heading override
   ============================================================
   "Billing address" and "Shipping address" were inheriting the
   massive heading scale. Shrink them to a sensible H3 size that
   doesn't compete with the page hero.
   ============================================================ */

.woocommerce-Address-title h2,
.woocommerce-Address-title h3,
.woocommerce-Address h2,
.woocommerce-Address h3 {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  font-size: 1.1rem !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  margin: 0 0 0.5rem;
  line-height: 1.2;
}

.woocommerce-Address-title {
  margin-bottom: 1rem;
}

.woocommerce-Address-title .edit,
.woocommerce-Address-title a {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.85rem;
  text-transform: none;
  letter-spacing: normal;
  font-style: normal;
  font-weight: 400;
  color: var(--wp--preset--color--gold);
  margin-left: 0.75rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.woocommerce-Address-title .edit:hover,
.woocommerce-Address-title a:hover {
  color: var(--wp--preset--color--off-white);
}

.woocommerce-Address address {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--wp--preset--color--off-white);
  font-style: normal;
}

/* ============================================================
   Cart Page
   ============================================================
   Visual styling only — WC's block handles the two-column
   layout itself. We touch typography, colors, borders, and
   buttons but NOT the parent flex/grid containers.
   ============================================================ */

/* Page H1 "Cart" — hero treatment */

.woocommerce-cart .wp-block-post-title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: clamp(3.5rem, 9vw, 7rem);
  line-height: 0.9;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
  margin: 4rem 0 1rem;
  padding: 0;
}

.woocommerce-cart .wp-block-post-title + .entry-content {
  padding-top: 3rem;
  border-top: 1px solid var(--wp--preset--color--gray-line);
  margin-top: 3rem;
}

@media (max-width: 768px) {
  .woocommerce-cart .wp-block-post-title {
    margin: 2.5rem 0 0.75rem;
  }

  .woocommerce-cart .wp-block-post-title + .entry-content {
    padding-top: 2rem;
    margin-top: 2rem;
  }
}

/* ---------- Cart item rows (left column) ---------- */

/* Hide the small gray table headers */
.wp-block-woocommerce-cart .wc-block-cart-items__header {
  display: none;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row {
  border-bottom: 1px solid var(--wp--preset--color--gray-line);
}

/* Product image — white card */
.wp-block-woocommerce-cart .wc-block-cart-item__image img {
  background: #ffffff;
  padding: 0.25rem;
}

/* Product name */
.wp-block-woocommerce-cart .wc-block-components-product-name {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
  text-decoration: none;
  transition: color 0.2s ease;
}

.wp-block-woocommerce-cart .wc-block-components-product-name:hover {
  color: var(--wp--preset--color--gold);
}

/* Hide duplicate inline price below the title — keep the row-end price */
.wp-block-woocommerce-cart
  .wc-block-cart-item__product
  .wc-block-cart-item__prices {
  display: none;
}

/* Variation metadata */
.wp-block-woocommerce-cart .wc-block-components-product-metadata {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.875rem;
  color: var(--wp--preset--color--gray);
}

.wp-block-woocommerce-cart .wc-block-components-product-details__value {
  color: var(--wp--preset--color--off-white);
}

/* Quantity selector */
.wp-block-woocommerce-cart .wc-block-components-quantity-selector {
  border: 1px solid var(--wp--preset--color--gray-line);
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__input {
  background: transparent;
  color: var(--wp--preset--color--off-white);
  font-family: var(--wp--preset--font-family--ui);
}

.wp-block-woocommerce-cart .wc-block-components-quantity-selector__button {
  background: transparent;
  color: var(--wp--preset--color--off-white);
  transition: color 0.2s ease;
}

.wp-block-woocommerce-cart
  .wc-block-components-quantity-selector__button:hover:not(:disabled) {
  color: var(--wp--preset--color--gold);
}

/* Remove trash icon */
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
  color: var(--wp--preset--color--gray);
  transition: color 0.2s ease;
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover {
  color: var(--wp--preset--color--gold);
}

.wp-block-woocommerce-cart .wc-block-cart-item__remove-link svg {
  fill: currentColor;
}

/* Row-end total */
.wp-block-woocommerce-cart .wc-block-cart-item__total {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--off-white);
}

.wp-block-woocommerce-cart .wc-block-components-product-price__value {
  color: var(--wp--preset--color--off-white);
}

/* ---------- Cart totals (right column) ---------- */

.wp-block-woocommerce-cart .wc-block-cart__sidebar {
  border: 1px solid var(--wp--preset--color--gray-line);
  padding: 2rem;
}

@media (max-width: 900px) {
  .wp-block-woocommerce-cart .wc-block-cart__sidebar {
    padding: 1.5rem;
  }
}

.wp-block-woocommerce-cart .wc-block-cart__totals-title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: 1.5rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  margin: 0 0 1.5rem;
}

/* Coupon disclosure */
.wp-block-woocommerce-cart .wc-block-components-panel__button {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--off-white);
  background: transparent;
  border-bottom: 1px solid var(--wp--preset--color--gray-line);
}

.wp-block-woocommerce-cart .wc-block-components-panel__button:hover {
  color: var(--wp--preset--color--gold);
}

/* Totals rows */
.wp-block-woocommerce-cart .wc-block-components-totals-item__label {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
}

.wp-block-woocommerce-cart .wc-block-components-totals-item__value {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--off-white);
}

/* Estimated total — gold emphasis */
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item-tax-value {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: 1.5rem;
  color: var(--wp--preset--color--gold);
}

.wp-block-woocommerce-cart .wc-block-components-totals-item__description {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.85rem;
  color: var(--wp--preset--color--gray);
}

/* "OR" divider between express payments and Proceed button */
.wp-block-woocommerce-cart .wc-block-components-express-payment-continue-rule {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gray);
}

/* Proceed to Checkout button */
.wp-block-woocommerce-cart .wc-block-cart__submit-button {
  background: var(--wp--preset--color--gold) !important;
  color: var(--wp--preset--color--black) !important;
  border: 2px solid var(--wp--preset--color--gold) !important;
  border-radius: 0 !important;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover {
  background: var(--wp--preset--color--off-white) !important;
  border-color: var(--wp--preset--color--off-white) !important;
}

/* ============================================================
   Mini-cart Drawer
   ============================================================ */

.wp-block-woocommerce-mini-cart-contents {
  background: var(--wp--preset--color--black) !important;
}

.wc-block-mini-cart__products-table .wc-block-cart-items__row:last-child {
  border-bottom: none;
}

/* Close button */
.wc-block-components-drawer__close {
  color: var(--wp--preset--color--off-white);
  transition: color 0.2s ease;
}

.wc-block-components-drawer__close:hover {
  color: var(--wp--preset--color--gold);
}

.wc-block-components-drawer__close svg {
  fill: currentColor;
}

/* Drawer title */
.wc-block-mini-cart__title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  border-bottom: 1px solid var(--wp--preset--color--gray-line);
}

/* Hide duplicate image inside cart item cell */
.wc-block-mini-cart__products-table .wc-block-cart-item__image > img {
  display: none !important;
}

/* Drawer item image */
.wc-block-mini-cart__products-table .wc-block-cart-item__image img {
  background: #ffffff;
  padding: 0.25rem;
}

/* Drawer item rows */
.wc-block-mini-cart__products-table .wc-block-cart-items__row {
  border-bottom: 1px solid var(--wp--preset--color--gray-line);
}

.wc-block-mini-cart__products-table .wc-block-cart-items__header {
  display: none;
}

/* Drawer product name */
.wc-block-mini-cart__products-table .wc-block-components-product-name {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
  text-decoration: none;
  transition: color 0.2s ease;
}

.wc-block-mini-cart__products-table .wc-block-components-product-name:hover {
  color: var(--wp--preset--color--gold);
}

/* Hide duplicate price below title in drawer */
table.wc-block-cart-items
  .wc-block-cart-items__row
  .wc-block-cart-item__prices {
  display: none;
}

/* Drawer variation metadata */
.wc-block-mini-cart__products-table .wc-block-components-product-metadata {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.8rem;
  color: var(--wp--preset--color--gray);
}

.wc-block-mini-cart__products-table
  .wc-block-components-product-details__value {
  color: var(--wp--preset--color--off-white);
}

/* Drawer quantity selector */
.wc-block-mini-cart__products-table .wc-block-components-quantity-selector {
  border: 1px solid var(--wp--preset--color--gray-line);
}

.wc-block-mini-cart__products-table
  .wc-block-components-quantity-selector__input {
  background: transparent;
  color: var(--wp--preset--color--off-white);
  font-family: var(--wp--preset--font-family--ui);
}

.wc-block-mini-cart__products-table
  .wc-block-components-quantity-selector__button {
  background: transparent;
  color: var(--wp--preset--color--off-white);
  transition: color 0.2s ease;
}

.wc-block-mini-cart__products-table
  .wc-block-components-quantity-selector__button:hover:not(:disabled) {
  color: var(--wp--preset--color--gold);
}

/* Drawer remove icon */
.wc-block-mini-cart__products-table .wc-block-cart-item__remove-link {
  color: var(--wp--preset--color--gray);
  transition: color 0.2s ease;
}

.wc-block-mini-cart__products-table .wc-block-cart-item__remove-link:hover {
  color: var(--wp--preset--color--gold);
}

.wc-block-mini-cart__products-table .wc-block-cart-item__remove-link svg {
  fill: currentColor;
}

/* Drawer item total */
.wc-block-mini-cart__products-table .wc-block-cart-item__total {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--off-white);
}

/* Drawer footer */
.wc-block-mini-cart__footer {
  border-top: 1px solid var(--wp--preset--color--gray-line);
}

.wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__label {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
}

.wc-block-mini-cart__footer-subtotal .wc-block-components-totals-item__value {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  color: var(--wp--preset--color--gold);
}

.wc-block-mini-cart__footer-subtotal
  .wc-block-components-totals-item__description {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.8rem;
  color: var(--wp--preset--color--gray);
}

/* Drawer footer buttons */
.wc-block-mini-cart__footer-cart {
  background: transparent !important;
  color: var(--wp--preset--color--off-white) !important;
  border: 2px solid var(--wp--preset--color--off-white) !important;
  border-radius: 0 !important;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.wc-block-mini-cart__footer-cart:hover {
  background: var(--wp--preset--color--off-white) !important;
  color: var(--wp--preset--color--black) !important;
}

.wc-block-mini-cart__footer-checkout {
  background: var(--wp--preset--color--gold) !important;
  color: var(--wp--preset--color--black) !important;
  border: 2px solid var(--wp--preset--color--gold) !important;
  border-radius: 0 !important;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.wc-block-mini-cart__footer-checkout:hover {
  background: var(--wp--preset--color--off-white) !important;
  border-color: var(--wp--preset--color--off-white) !important;
}

/* Empty cart state */
.wp-block-woocommerce-empty-mini-cart-contents-block p {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--off-white);
}

.wc-block-mini-cart__shopping-button {
  background: var(--wp--preset--color--gold) !important;
  color: var(--wp--preset--color--black) !important;
  border: 2px solid var(--wp--preset--color--gold) !important;
  border-radius: 0 !important;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.wc-block-mini-cart__shopping-button:hover {
  background: var(--wp--preset--color--off-white) !important;
  border-color: var(--wp--preset--color--off-white) !important;
}

/* ============================================================
   Checkout Page
   ============================================================
   Visual styling only — WC's block handles the two-column
   layout itself. Most cart styles cascade naturally; this
   block adds checkout-specific treatments.
   ============================================================ */

/* ---------- Checkout-specific header (no main site nav) ---------- */

.site-header--checkout {
  border-bottom: 1px solid var(--wp--preset--color--gray-line);
  padding-block: 1.5rem;
}

.checkout-secure-badge {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  font-size: 0.9rem;
}

/* ---------- Section headings ---------- */

.wp-block-woocommerce-checkout .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout .wc-block-components-express-payment__title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  font-size: 1.25rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  margin: 0;
}

/* ---------- Express Checkout block ---------- */

.wp-block-woocommerce-checkout .wc-block-components-express-payment--checkout {
  border: 1px solid var(--wp--preset--color--gray-line);
  padding: 1.5rem;
  margin-bottom: 2rem;
}

.wp-block-woocommerce-checkout
  .wc-block-components-express-payment__title-container::before,
.wp-block-woocommerce-checkout
  .wc-block-components-express-payment__title-container::after {
  background: var(--wp--preset--color--gray-line);
}

.wp-block-woocommerce-checkout
  .wc-block-components-express-payment-continue-rule--checkout {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gray);
  font-size: 0.85rem;
}

.wp-block-woocommerce-checkout
  .wc-block-components-express-payment-continue-rule--checkout::before,
.wp-block-woocommerce-checkout
  .wc-block-components-express-payment-continue-rule--checkout::after {
  background: var(--wp--preset--color--gray-line);
}

/* ---------- Form field treatments ---------- */

.wp-block-woocommerce-checkout .wc-block-components-text-input input,
.wp-block-woocommerce-checkout
  .wc-block-components-text-input
  input[type="text"],
.wp-block-woocommerce-checkout
  .wc-block-components-text-input
  input[type="email"],
.wp-block-woocommerce-checkout
  .wc-block-components-text-input
  input[type="tel"],
.wp-block-woocommerce-checkout .wc-blocks-components-select select {
  background: var(--wp--preset--color--charcoal) !important;
  color: var(--wp--preset--color--off-white) !important;
  border: 1px solid var(--wp--preset--color--gray-line) !important;
  border-radius: 0 !important;
  font-family: var(--wp--preset--font-family--ui);
  padding: 1.25rem 1rem 0.5rem !important;
  transition: border-color 0.2s ease;
}

.wp-block-woocommerce-checkout .wc-block-components-text-input input:focus,
.wp-block-woocommerce-checkout .wc-blocks-components-select select:focus {
  border-color: var(--wp--preset--color--gold) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Floating label color/font when input is empty (label shown as placeholder) */
.wp-block-woocommerce-checkout .wc-block-components-text-input label,
.wp-block-woocommerce-checkout .wc-blocks-components-select__label {
  color: var(--wp--preset--color--gray) !important;
  font-family: var(--wp--preset--font-family--ui);
  background: transparent !important;
}

/* Floating label color when field is focused or filled */
.wp-block-woocommerce-checkout .wc-block-components-text-input.is-active label,
.wp-block-woocommerce-checkout
  .wc-block-components-text-input
  input:focus
  + label,
.wp-block-woocommerce-checkout .wc-blocks-components-select.is-active label {
  color: var(--wp--preset--color--gold) !important;
}

/* Select dropdown arrow */
.wp-block-woocommerce-checkout .wc-blocks-components-select__expand {
  fill: var(--wp--preset--color--off-white);
}

/* Address autocomplete icon */
.wp-block-woocommerce-checkout .wc-block-components-address-autocomplete-icon {
  fill: var(--wp--preset--color--gray);
}

/* "+ Add apartment, suite, etc." link */
.wp-block-woocommerce-checkout
  .wc-block-components-address-form__address_2-toggle {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--gold);
  font-size: 0.9rem;
  transition: color 0.2s ease;
}

.wp-block-woocommerce-checkout
  .wc-block-components-address-form__address_2-toggle:hover {
  color: var(--wp--preset--color--off-white);
}

/* ---------- Checkboxes ---------- */

.wp-block-woocommerce-checkout .wc-block-components-checkbox__input {
  background: var(--wp--preset--color--charcoal) !important;
  border: 1px solid var(--wp--preset--color--gray-line) !important;
  border-radius: 0 !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__input:checked {
  background: var(--wp--preset--color--gold) !important;
  border-color: var(--wp--preset--color--gold) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__mark {
  fill: var(--wp--preset--color--black);
}

.wp-block-woocommerce-checkout .wc-block-components-checkbox__label {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--off-white);
}

/* ---------- "Log in" link in contact section ---------- */

.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  text-decoration: none;
  font-size: 0.85rem;
  transition: color 0.2s ease;
}

.wp-block-woocommerce-checkout .wc-block-checkout__login-prompt:hover {
  color: var(--wp--preset--color--off-white);
}

/* Guest checkout notice */
.wp-block-woocommerce-checkout .wc-block-checkout__guest-checkout-notice {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.85rem;
  color: var(--wp--preset--color--gray);
}

/* ---------- Shipping options empty state ---------- */

.wp-block-woocommerce-checkout
  .wc-block-components-shipping-rates-control__no-shipping-address-message {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--gray);
  background: var(--wp--preset--color--charcoal);
  border: 1px solid var(--wp--preset--color--gray-line);
  padding: 1.5rem;
  text-align: center;
}

/* ---------- Payment options radio block ---------- */

.wp-block-woocommerce-checkout
  .wc-block-components-radio-control-accordion-option {
  background: var(--wp--preset--color--charcoal);
  border: 1px solid var(--wp--preset--color--gray-line);
  margin-bottom: 0.75rem;
}

.wp-block-woocommerce-checkout
  .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: var(--wp--preset--color--gold);
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__option {
  padding: 1rem;
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__label {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
}

.wp-block-woocommerce-checkout .wc-block-components-radio-control__input {
  accent-color: var(--wp--preset--color--gold);
}

/* Payment method icons row */
.wp-block-woocommerce-checkout .payment-methods--logos {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.wp-block-woocommerce-checkout .payment-methods--logos img {
  height: 24px;
  width: auto;
  background: #ffffff;
  padding: 0.15rem 0.25rem;
}

.wp-block-woocommerce-checkout .payment-methods--logos-count {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--gray);
  font-size: 0.85rem;
}

/* Affirm payment method icon */
.wp-block-woocommerce-checkout .wcpay-payment-method-icon {
  height: 24px;
  width: auto;
}

/* ---------- Save my info (WooPay) ---------- */

.wp-block-woocommerce-checkout .save-details-form .iti {
  width: 100%;
}

.wp-block-woocommerce-checkout .save-details-form .phone-input {
  background: var(--wp--preset--color--charcoal) !important;
  color: var(--wp--preset--color--off-white) !important;
  border: 1px solid var(--wp--preset--color--gray-line) !important;
  border-radius: 0 !important;
  font-family: var(--wp--preset--font-family--ui);
  padding: 0.75rem 1rem 0.75rem 80px !important;
}

.wp-block-woocommerce-checkout .save-details-form .phone-input:focus {
  border-color: var(--wp--preset--color--gold) !important;
  outline: none !important;
}

.wp-block-woocommerce-checkout .save-details-form .iti__selected-flag {
  background: var(--wp--preset--color--black);
  border-right: 1px solid var(--wp--preset--color--gray-line);
}

.wp-block-woocommerce-checkout .additional-information {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.85rem;
  color: var(--wp--preset--color--gray);
  margin-top: 0.75rem;
}

.wp-block-woocommerce-checkout .tos {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.8rem;
  color: var(--wp--preset--color--gray);
  margin-top: 0.5rem;
}

.wp-block-woocommerce-checkout .tos a {
  color: var(--wp--preset--color--gold);
  text-decoration: none;
}

.wp-block-woocommerce-checkout .tos a:hover {
  color: var(--wp--preset--color--off-white);
}

/* ---------- Terms text above place order ---------- */

.wp-block-woocommerce-checkout .wc-block-checkout__terms {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--gray);
  font-size: 0.85rem;
  text-align: center;
  padding: 1rem 0;
}

.wp-block-woocommerce-checkout .wc-block-checkout__terms--with-separator {
  border-top: 1px solid var(--wp--preset--color--gray-line);
}

/* ---------- Place Order button ---------- */

.wp-block-woocommerce-checkout
  .wc-block-components-checkout-place-order-button {
  background: var(--wp--preset--color--gold) !important;
  color: var(--wp--preset--color--black) !important;
  border: 2px solid var(--wp--preset--color--gold) !important;
  border-radius: 0 !important;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 1.25rem 2rem !important;
  font-size: 1.1rem;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.wp-block-woocommerce-checkout
  .wc-block-components-checkout-place-order-button:hover {
  background: var(--wp--preset--color--off-white) !important;
  border-color: var(--wp--preset--color--off-white) !important;
}

/* ---------- Order summary sidebar ---------- */

.wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
  border: 1px solid var(--wp--preset--color--gray-line);
  padding: 2rem;
}

@media (max-width: 900px) {
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
    padding: 1.5rem;
  }
}

.wp-block-woocommerce-checkout
  .wc-block-components-checkout-order-summary__title-text {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  font-size: 1.25rem;
}

.wp-block-woocommerce-checkout
  .wc-block-components-checkout-order-summary__title-price {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  color: var(--wp--preset--color--gold);
}

.wp-block-woocommerce-checkout
  .wc-block-components-checkout-order-summary__title-icon {
  fill: var(--wp--preset--color--off-white);
}

/* Order summary line items */
.wp-block-woocommerce-checkout .wc-block-components-order-summary-item {
  border-bottom: 1px solid var(--wp--preset--color--gray-line);
  padding: 1rem 0;
}

.wp-block-woocommerce-checkout
  .wc-block-components-order-summary-item:last-child {
  border-bottom: none;
}

/* Hide duplicate inline price below title in order summary */
.wp-block-woocommerce-checkout
  .wc-block-components-order-summary-item__description
  .wc-block-cart-item__prices {
  display: none;
}

.wp-block-woocommerce-checkout
  .wc-block-components-order-summary-item
  .wc-block-components-product-name {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--off-white);
  font-size: 0.95rem;
}

.wp-block-woocommerce-checkout
  .wc-block-components-order-summary-item
  .wc-block-components-product-metadata {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.8rem;
  color: var(--wp--preset--color--gray);
}

.wp-block-woocommerce-checkout
  .wc-block-components-order-summary-item
  .wc-block-components-product-details__value {
  color: var(--wp--preset--color--off-white);
}

/* Quantity badge */
.wp-block-woocommerce-checkout
  .wc-block-components-order-summary-item__quantity {
  background: var(--wp--preset--color--gold);
  color: var(--wp--preset--color--black);
  font-family: var(--wp--preset--font-family--display);
  font-weight: 900;
  font-style: italic;
  border: 2px solid var(--wp--preset--color--gold);
}

/* Order summary product image — white card */
.wp-block-woocommerce-checkout
  .wc-block-components-order-summary-item__image
  img {
  background: #ffffff;
  padding: 0.15rem;
}

/* Order summary item total price */
.wp-block-woocommerce-checkout
  .wc-block-components-order-summary-item__total-price {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--off-white);
}

/* ---------- Address card (after entry) ---------- */

.wp-block-woocommerce-checkout .wc-block-components-address-card {
  background: var(--wp--preset--color--charcoal);
  border: 1px solid var(--wp--preset--color--gray-line);
  padding: 1rem;
}

.wp-block-woocommerce-checkout .wc-block-components-address-card address {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--off-white);
}

.wp-block-woocommerce-checkout .wc-block-components-address-card__edit {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 800;
  font-style: italic;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--gold);
  font-size: 0.85rem;
  cursor: pointer;
}

.wp-block-woocommerce-checkout .wc-block-components-address-card__edit:hover {
  color: var(--wp--preset--color--off-white);
}

/* ---------- Payment options — fix doubled borders + label overlap ---------- */

/* Remove the wrapping container's own border so only the options have borders */
.wp-block-woocommerce-checkout .wc-block-components-radio-control {
  border: none;
  background: transparent;
}

/* Give radio options proper padding so the input doesn't overlap the label */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__option {
  padding: 1rem 1rem 1rem 3rem !important;
  position: relative;
}

/* Position the radio input correctly */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__input {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
}

/* Ensure label group sits cleanly without overlap */
.wp-block-woocommerce-checkout .wc-block-components-radio-control__label-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 1rem;
}

/* Remove the inner gold ring around the selected payment option's Stripe iframe area */
.wp-block-woocommerce-checkout
  .wc-block-components-radio-control-accordion-content {
  border-top: 1px solid var(--wp--preset--color--gray-line);
  margin-top: 1rem;
  padding-top: 1rem;
}

/* The card payment wrapper inside Stripe — kill its outer styling */
.wp-block-woocommerce-checkout .wcpay-payment-element-wrapper {
  background: transparent;
  border: none;
  padding: 0;
}

/* ---------- WooPay phone input — fix flag/dial code positioning ---------- */

.wp-block-woocommerce-checkout .save-details-form .iti {
  position: relative;
  display: block;
  width: 100%;
}

.wp-block-woocommerce-checkout .save-details-form .iti__flag-container {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
}

.wp-block-woocommerce-checkout .save-details-form .iti__selected-flag {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 0.75rem;
  background: var(--wp--preset--color--charcoal);
  border-right: 1px solid var(--wp--preset--color--gray-line);
  gap: 0.4rem;
}

.wp-block-woocommerce-checkout .save-details-form .iti__selected-dial-code {
  font-family: var(--wp--preset--font-family--ui);
  color: var(--wp--preset--color--off-white);
  font-size: 0.95rem;
}

.wp-block-woocommerce-checkout .save-details-form .iti__arrow {
  border-top-color: var(--wp--preset--color--off-white);
}

/* Add enough left padding to clear flag + dial code + separator */
.wp-block-woocommerce-checkout .save-details-form .phone-input {
  padding-left: 90px !important;
}

.wp-block-woocommerce-checkout .save-details-form .phone-input::placeholder {
  color: var(--wp--preset--color--gray);
  font-family: var(--wp--preset--font-family--ui);
}

/* Phone validation error message */
.wp-block-woocommerce-checkout
  .save-details-form
  .has-error
  ~ .additional-information,
.wp-block-woocommerce-checkout
  .save-details-form
  .has-error
  + .additional-information {
  color: var(--wp--preset--color--gray);
}

/* The actual error text */
.wp-block-woocommerce-checkout .save-details-form .has-error + p,
.wp-block-woocommerce-checkout .save-details-form > .has-error + p {
  font-family: var(--wp--preset--font-family--ui);
  font-size: 0.85rem;
}

.wc-block-components-express-payment--checkout
  .wc-block-components-express-payment__content,
.wp-block-woocommerce-checkout-order-summary-block {
  border: none;
}

.wp-block-woocommerce-checkout .wc-block-components-express-payment--checkout {
  border-top: none;
}

.wc-block-components-express-payment--checkout
  .wc-block-components-express-payment__title-container:before {
  margin-left: -1px;
}

.wc-block-components-express-payment--checkout
  .wc-block-components-express-payment__title-container:after {
  margin-right: -1px;
}

.wp-block-woocommerce-checkout
  .wc-block-components-express-payment__title-container::before,
.wp-block-woocommerce-checkout
  .wc-block-components-express-payment__title-container::after {
  background: none;
  border-color: var(--wp--preset--color--gray-line);
  border-radius: 0;
  height: 4px;
}

.wc-block-components-form .wc-block-components-text-input label,
.wc-block-components-text-input label,
.wc-blocks-components-select .wc-blocks-components-select__label {
  left: 17px;
}
