/*
 Theme Name:   Hello Elementor Child - Katsu Merch
 Description:  Child theme for Katsu's Lounge merch store. Clean, simple, tile-based product browsing.
 Author:       Katsu's Lounge
 Template:     hello-elementor
 Version:      1.1.0
 Requires at least: 6.0
 Requires PHP: 7.4
 Text Domain:  katsu-merch
*/

/* =============================================
   KATSU MERCH - GLOBAL STYLES
   ============================================= */

:root {
      --katsu-black: #1a1a1a;
      --katsu-dark: #2d2d2d;
      --katsu-gray: #4a4a4a;
      --katsu-light-gray: #e8e8e8;
      --katsu-off-white: #f5f3ef;
      --katsu-white: #ffffff;
      --katsu-accent: #c9a96e;
      --katsu-accent-hover: #b8943f;
      --katsu-radius: 8px;
      --katsu-transition: 0.25s ease;
}

body {
      font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
      color: var(--katsu-black);
      background-color: var(--katsu-off-white);
      -webkit-font-smoothing: antialiased;
}

/* =============================================
   MERCH HOME - PRODUCT CATEGORY TILES (photo-forward)
   ============================================= */

.katsu-tiles {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
      max-width: 1100px;
      margin: 0 auto;
      padding: 40px 20px;
}

.katsu-tile {
      position: relative;
      border-radius: var(--katsu-radius);
      overflow: hidden;
      aspect-ratio: 1 / 1;
      cursor: pointer;
      background-color: var(--katsu-white);
      border: 1px solid var(--katsu-light-gray);
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
      transition: transform var(--katsu-transition), box-shadow var(--katsu-transition);
}

.katsu-tile:hover {
      transform: translateY(-4px);
      box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
}

.katsu-tile a {
      display: block;
      width: 100%;
      height: 100%;
      text-decoration: none;
      color: var(--katsu-black);
}

.katsu-tile img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 32%;
      transition: transform var(--katsu-transition);
}

.katsu-tile:hover img {
      transform: scale(1.05);
}

.katsu-tile-label {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 22px 24px 20px;
      background: linear-gradient(
            to top,
            rgba(26, 26, 26, 0.82) 0%,
            rgba(26, 26, 26, 0.55) 55%,
            rgba(26, 26, 26, 0) 100%
      );
      color: var(--katsu-white);
      font-size: 1.5rem;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      display: flex;
      flex-direction: column;
      gap: 4px;
}

.katsu-tile-label::before {
      content: "KATSU MERCH";
      display: block;
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.18em;
      color: var(--katsu-accent);
      margin-bottom: 2px;
}

.katsu-tile-label::after {
      content: "";
      display: block;
      width: 46px;
      height: 3px;
      background: var(--katsu-accent);
      margin-top: 10px;
}

/* =============================================
   PRODUCT CATEGORY / COLLECTION PAGES
   ============================================= */

/* --- Category header (Batch 2: styled collection header) --- */
.woocommerce .woocommerce-products-header,
.term-description,
.woocommerce-products-header__title.page-title {
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto;
}

.woocommerce-products-header__title.page-title,
.woocommerce .woocommerce-products-header__title {
      font-family: 'Inter', sans-serif;
      font-size: 2.4rem;
      font-weight: 800;
      letter-spacing: -0.01em;
      color: var(--katsu-black);
      text-align: center;
      margin: 48px 0 14px;
      position: relative;
}

/* gold underline accent under the category name */
.woocommerce-products-header__title.page-title::after {
      content: "";
      display: block;
      width: 56px;
      height: 3px;
      background: var(--katsu-accent);
      margin: 14px auto 0;
}

/* the category intro (pulled from the category Description field) */
.term-description {
      font-family: 'Inter', sans-serif;
      font-size: 1.1rem;
      line-height: 1.6;
      color: #3a3a3a;
      text-align: center;
      max-width: 620px;
      margin: 0 auto 8px;
      padding: 0 20px;
}

.term-description p {
      margin: 0 auto;
}

.woocommerce ul.products {
      display: grid !important;
      grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
      gap: 32px;
      max-width: 1100px;
      margin: 0 auto;
      padding: 28px 0;
      list-style: none;
}

/* FIX asymmetric first row: WooCommerce/theme clearfix pseudo-elements on the
   product list become phantom grid cells (taking slot 1, offsetting all products
   by one and leaving a gap where the first product should be). Collapse them so
   they occupy zero grid tracks. */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
      content: none !important;
      display: none !important;
}

.woocommerce ul.products li.product {
      margin: 0 !important;
      padding: 0;
      width: 100% !important;
      text-align: center;
      border-radius: var(--katsu-radius);
      overflow: hidden;
      background: var(--katsu-white);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
      transition: transform var(--katsu-transition), box-shadow var(--katsu-transition);
}

.woocommerce ul.products li.product:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.woocommerce ul.products li.product a img {
      width: 100%;
      height: auto;
      border-radius: 0;
      margin: 0 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
      font-size: 1.15rem;
      font-weight: 600;
      padding: 16px 20px 4px;
      color: var(--katsu-black);
}

.woocommerce ul.products li.product .price {
      padding: 0 20px 20px;
      color: var(--katsu-gray);
      font-size: 1.05rem;
}

.woocommerce ul.products li.product .button {
      display: none;
}

/* =============================================
   SINGLE PRODUCT PAGE
   ============================================= */

.woocommerce div.product {
      max-width: 1100px;
      margin: 0 auto;
      padding: 40px 20px;
}

.woocommerce div.product div.images {
      border-radius: var(--katsu-radius);
      overflow: hidden;
}

.woocommerce div.product .product_title {
      font-size: 1.8rem;
      font-weight: 700;
      margin-bottom: 8px;
}

.woocommerce div.product .price {
      font-size: 1.3rem;
      color: var(--katsu-gray);
      margin-bottom: 20px;
}

.woocommerce div.product .variations th.label label {
      font-weight: 600;
      text-transform: uppercase;
      font-size: 0.85rem;
      letter-spacing: 0.05em;
      color: var(--katsu-gray);
}

.woocommerce div.product .variations select {
      border: 2px solid var(--katsu-light-gray);
      border-radius: var(--katsu-radius);
      padding: 10px 14px;
      font-size: 0.95rem;
      background: var(--katsu-white);
      transition: border-color var(--katsu-transition);
}

.woocommerce div.product .variations select:focus {
      border-color: var(--katsu-accent);
      outline: none;
}

.woocommerce div.product .single_add_to_cart_button {
      background-color: var(--katsu-accent) !important;
      color: var(--katsu-black) !important;
      border: none;
      border-radius: var(--katsu-radius);
      padding: 14px 32px;
      font-size: 1rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      cursor: pointer;
      transition: background-color var(--katsu-transition);
}

.woocommerce div.product .single_add_to_cart_button:hover {
      background-color: var(--katsu-accent-hover) !important;
      color: var(--katsu-white) !important;
}

.woocommerce div.product .quantity .qty {
      border: 2px solid var(--katsu-light-gray);
      border-radius: var(--katsu-radius);
      padding: 10px;
      width: 70px;
      text-align: center;
      font-size: 1rem;
}

/* =============================================
   POST-ADD-TO-CART ACTIONS
   ============================================= */

.katsu-post-atc {
      display: flex;
      gap: 12px;
      margin-top: 20px;
      flex-wrap: wrap;
}

.katsu-post-atc .katsu-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 14px 28px;
      border-radius: var(--katsu-radius);
      font-size: 0.95rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      text-decoration: none;
      transition: all var(--katsu-transition);
      cursor: pointer;
}

.katsu-btn--order-more {
      background-color: var(--katsu-white);
      color: var(--katsu-black);
      border: 2px solid var(--katsu-black);
}

.katsu-btn--order-more:hover {
      background-color: var(--katsu-black);
      color: var(--katsu-white);
}

.katsu-btn--go-to-cart {
      background-color: var(--katsu-accent);
      color: var(--katsu-white);
      border: 2px solid var(--katsu-accent);
}

.katsu-btn--go-to-cart:hover {
      background-color: var(--katsu-accent-hover);
      border-color: var(--katsu-accent-hover);
}

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

.woocommerce-cart .woocommerce table.shop_table {
      border-radius: var(--katsu-radius);
      overflow: hidden;
      border: 1px solid var(--katsu-light-gray);
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
      background-color: var(--katsu-accent) !important;
      color: var(--katsu-black) !important;
      border-radius: var(--katsu-radius);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.04em;
      padding: 16px 32px;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
      background-color: var(--katsu-accent-hover) !important;
      color: var(--katsu-white) !important;
}

/* WooCommerce BLOCKS cart/checkout buttons (the new block selectors) */
.wc-block-cart__submit-button,
.wc-block-components-button.wc-block-cart__submit-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button {
      background-color: var(--katsu-accent) !important;
      color: var(--katsu-black) !important;
      border-radius: var(--katsu-radius) !important;
      font-weight: 600 !important;
      text-transform: uppercase;
      letter-spacing: 0.04em;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-button.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:hover {
      background-color: var(--katsu-accent-hover) !important;
      color: var(--katsu-white) !important;
}

/* =============================================
   WooCommerce NOTICES
   ============================================= */

.woocommerce-message {
      border-top-color: var(--katsu-accent) !important;
}

.woocommerce-message a.button {
      background-color: var(--katsu-accent) !important;
      color: var(--katsu-white) !important;
}

/* =============================================
   HIDE CLUTTER
   ============================================= */

.woocommerce-result-count,
.woocommerce-ordering,
.woocommerce-breadcrumb,
.woocommerce div.product .product_meta {
      display: none !important;
}

/* =============================================
   RESPONSIVE
   ============================================= */

@media (max-width: 768px) {
      .katsu-tiles {
              grid-template-columns: 1fr;
              gap: 16px;
              padding: 20px 16px;
      }

      .katsu-tile {
              aspect-ratio: 4 / 3;
      }

      .katsu-tile-label {
              font-size: 1.2rem;
              padding: 16px;
      }

      .woocommerce ul.products {
              grid-template-columns: repeat(2, 1fr) !important;
              gap: 12px;
      }

      .woocommerce-products-header__title.page-title {
              font-size: 1.9rem;
              margin-top: 32px;
      }

      .woocommerce div.product {
              padding: 20px 16px;
      }

      .woocommerce div.product .product_title {
              font-size: 1.4rem;
      }

      .katsu-post-atc {
              flex-direction: column;
      }

      .katsu-post-atc .katsu-btn {
              width: 100%;
      }
}

@media (max-width: 480px) {
      .woocommerce ul.products {
              grid-template-columns: 1fr !important;
      }
}


/* =============================================
   BATCH 3 — PRODUCT CARD POLISH + "VIEW PRODUCT" CTA
   ============================================= */

/* Make the whole card a positioned container for the hover CTA */
.woocommerce ul.products li.product {
      position: relative;
}

/* Image zooms slightly on hover for a premium feel */
.woocommerce ul.products li.product a img {
      transition: transform var(--katsu-transition);
}
.woocommerce ul.products li.product:hover a img {
      transform: scale(1.04);
}

/* "View Product" CTA — revealed on hover over the card.
   The card is already fully clickable (the product link wraps it);
   this is a visual affordance, not a separate link. */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
      position: relative;
      display: block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link::after {
      content: "View Product";
      position: absolute;
      left: 50%;
      bottom: 14px;
      transform: translateX(-50%) translateY(8px);
      background: var(--katsu-accent);
      color: var(--katsu-black);
      font-family: 'Inter', sans-serif;
      font-size: 0.78rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      padding: 9px 20px;
      border-radius: var(--katsu-radius);
      opacity: 0;
      pointer-events: none;
      transition: opacity var(--katsu-transition), transform var(--katsu-transition);
      white-space: nowrap;
}
.woocommerce ul.products li.product:hover .woocommerce-loop-product__link::after {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
}

/* gold underline accent under the product title (matches the brand) */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
      position: relative;
}

/* "From $X" price reads a touch stronger */
.woocommerce ul.products li.product .price {
      font-weight: 600;
}


/* =============================================
   BATCH 4B — PRODUCT DETAILS (Description as clean section)
   Un-hides the tabs (removed from HIDE CLUTTER above), then:
   - hides the tab-button nav row
   - hides the empty "Additional information" + "Reviews" panels
   - styles the Description panel as a branded, full-width details block
   ============================================= */

.woocommerce div.product .woocommerce-tabs {
      max-width: 1100px;
      margin: 8px auto 0;
      padding: 0 20px;
      clear: both;
}

/* hide the tab BUTTON row (we show only the Description, no tab UI) */
.woocommerce div.product .woocommerce-tabs ul.tabs {
      display: none !important;
}

/* hide the empty Additional Information + the Reviews panels (0 reviews) */
.woocommerce div.product .woocommerce-tabs #tab-additional_information,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--additional_information,
.woocommerce div.product .woocommerce-tabs #tab-reviews,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--reviews {
      display: none !important;
}

/* the Description panel: always visible, styled as a clean details section */
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs #tab-description,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--description {
      display: block !important;
      border-top: 1px solid var(--katsu-light-gray);
      padding-top: 28px;
      margin-top: 16px;
}

/* a clean heading for the section */
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel--description > h2:first-child,
.woocommerce div.product .woocommerce-tabs #tab-description > h2:first-child {
      font-family: 'Inter', sans-serif;
      font-size: 1.25rem;
      font-weight: 700;
      letter-spacing: -0.01em;
      color: var(--katsu-black);
      margin: 0 0 16px;
}

/* description body: readable prose + tidy spec lists */
.woocommerce div.product .woocommerce-tabs .panel p {
      font-size: 1rem;
      line-height: 1.65;
      color: #3a3a3a;
      margin: 0 0 14px;
}
.woocommerce div.product .woocommerce-tabs .panel ul,
.woocommerce div.product .woocommerce-tabs .panel ol {
      margin: 0 0 16px;
      padding-left: 22px;
}
.woocommerce div.product .woocommerce-tabs .panel li {
      font-size: 0.95rem;
      line-height: 1.6;
      color: var(--katsu-gray);
      margin-bottom: 6px;
}


/* =============================================
   BATCH 5A — HOMEPAGE TRUST STRIP (under the hero)
   ============================================= */
.katsu-home-trust {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      gap: 14px 36px;
      max-width: 900px;
      margin: 0 auto;
      padding: 0 20px 8px;
      background-color: var(--katsu-off-white);
}
.katsu-home-trust-item {
      font-family: 'Inter', sans-serif;
      font-size: 0.9rem;
      font-weight: 600;
      letter-spacing: 0.02em;
      color: var(--katsu-gray);
      position: relative;
      padding-left: 20px;
}
.katsu-home-trust-item::before {
      content: "";
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--katsu-accent);
}
@media (max-width: 600px) {
      .katsu-home-trust {
              flex-direction: column;
              gap: 10px;
              text-align: center;
      }
      .katsu-home-trust-item {
              padding-left: 0;
      }
      .katsu-home-trust-item::before {
              display: none;
      }
}


/* =============================================
   BATCH 6 — FEATURED DROP + NEW DROP BADGE
   ============================================= */

/* ----- Featured Drop section ----- */
.katsu-drop {
      max-width: 1100px;
      margin: 0 auto;
      padding: 16px 20px 48px;
      text-align: center;
}
.katsu-drop-head {
      margin-bottom: 28px;
}
.katsu-drop-eyebrow {
      display: block;
      font-family: 'Inter', sans-serif;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--katsu-accent);
      margin-bottom: 6px;
}
.katsu-drop-title {
      font-family: 'Inter', sans-serif;
      font-size: 2rem;
      font-weight: 800;
      letter-spacing: -0.01em;
      color: var(--katsu-black);
      margin: 0 0 6px;
}
.katsu-drop-sub {
      font-family: 'Inter', sans-serif;
      font-size: 1rem;
      color: var(--katsu-gray);
      margin: 0;
}
.katsu-drop-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 22px;
      margin-top: 8px;
}
.katsu-drop-card {
      display: block;
      text-decoration: none;
      background: var(--katsu-white);
      border-radius: var(--katsu-radius);
      overflow: hidden;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
      transition: transform var(--katsu-transition), box-shadow var(--katsu-transition);
}
.katsu-drop-card:hover {
      transform: translateY(-3px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.katsu-drop-imgwrap {
      width: 100%;
      aspect-ratio: 1 / 1;
      overflow: hidden;
      background: var(--katsu-off-white);
}
.katsu-drop-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
}
.katsu-drop-name {
      display: block;
      font-family: 'Inter', sans-serif;
      font-size: 0.95rem;
      font-weight: 600;
      color: var(--katsu-black);
      padding: 14px 14px 2px;
}
.katsu-drop-price {
      display: block;
      font-family: 'Inter', sans-serif;
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--katsu-gray);
      padding: 0 14px 16px;
}

/* ----- "New Drop" badge on product cards ----- */
.katsu-badge-new {
      position: absolute;
      top: 12px;
      left: 12px;
      z-index: 2;
      background: var(--katsu-black);
      color: var(--katsu-accent);
      font-family: 'Inter', sans-serif;
      font-size: 0.66rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      padding: 5px 10px;
      border-radius: 4px;
      pointer-events: none;
}

@media (max-width: 768px) {
      .katsu-drop-grid {
              grid-template-columns: repeat(2, 1fr);
              gap: 14px;
      }
}
@media (max-width: 480px) {
      .katsu-drop-grid {
              grid-template-columns: repeat(2, 1fr);
      }
}


/* =============================================
   BATCH 8 — BIG PRODUCT IMAGE (Zara-style)
   Wide gallery left (~60%) / quiet sticky summary right (~40%).
   Keeps the stock WooCommerce flexslider + thumbnails + zoom + lightbox;
   just rebalances widths and enlarges the main image.
   ============================================= */

/* Widen the product container for a more editorial feel */
.woocommerce div.product {
      max-width: 1280px;
}

/* Override the stock 46/46 float split → asymmetric, gallery-dominant */
.woocommerce div.product .woocommerce-product-gallery {
      width: 60% !important;
      float: left;
      margin-bottom: 0;
}
.woocommerce div.product .summary.entry-summary {
      width: 36% !important;
      float: right;
      position: sticky;
      top: 32px;
      align-self: flex-start;
}

/* Make the main gallery image BIG and clean */
.woocommerce div.product div.images {
      border-radius: var(--katsu-radius);
      overflow: visible;
}
.woocommerce div.product .woocommerce-product-gallery .flex-viewport {
      border-radius: var(--katsu-radius);
      overflow: hidden;
      background: var(--katsu-off-white);
      margin-bottom: 14px;
}
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery .flex-viewport img {
      width: 100%;
      height: auto;
      display: block;
}

/* Thumbnail row below the main image — clean, evenly spaced */
.woocommerce div.product .flex-control-thumbs {
      display: flex !important;
      flex-wrap: wrap;
      gap: 10px;
      margin: 0;
      padding: 0;
      list-style: none;
}
.woocommerce div.product .flex-control-thumbs li {
      width: calc(20% - 8px) !important;   /* ~5 thumbs per row */
      margin: 0 !important;
      list-style: none;
}
.woocommerce div.product .flex-control-thumbs img {
      width: 100%;
      height: auto;
      border-radius: 6px;
      cursor: pointer;
      opacity: 0.6;
      border: 2px solid transparent;
      transition: opacity var(--katsu-transition), border-color var(--katsu-transition);
}
.woocommerce div.product .flex-control-thumbs img:hover,
.woocommerce div.product .flex-control-thumbs img.flex-active {
      opacity: 1;
      border-color: var(--katsu-accent);
}

/* Zoom trigger (the magnifier) — keep but make it subtle, top-right of image */
.woocommerce div.product .woocommerce-product-gallery__trigger {
      top: 1em;
      right: 1em;
}

/* Quiet, refined summary (right) so the image leads */
.woocommerce div.product .product_title {
      font-size: 1.9rem;
      font-weight: 800;
      letter-spacing: -0.01em;
      line-height: 1.1;
      margin-bottom: 8px;
}
.woocommerce div.product .summary .price {
      font-size: 1.3rem;
      font-weight: 600;
      color: var(--katsu-black);
      margin-bottom: 22px;
}

/* clearfix so the floated columns don't collapse the container */
.woocommerce div.product::after {
      content: "";
      display: table;
      clear: both;
}

/* ----- Big-image responsive: stack on tablet/mobile ----- */
@media (max-width: 900px) {
      .woocommerce div.product .woocommerce-product-gallery,
      .woocommerce div.product .summary.entry-summary {
              width: 100% !important;
              float: none;
              position: static;
      }
      .woocommerce div.product .woocommerce-product-gallery {
              margin-bottom: 28px;
      }
}

/* =============================================
   THEME BUILDER HEADER LAYOUT (Merch Header)
   ============================================= */
[data-elementor-type="header"] .elementor-container {
      flex-wrap: nowrap;
      align-items: center;
}
[data-elementor-type="header"] .elementor-container > .elementor-column {
      width: auto !important;
      flex: 0 0 auto !important;
}
[data-elementor-type="header"] .elementor-container > .elementor-column:nth-child(2) {
      flex: 1 1 auto !important;
}
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-nav-menu {
      flex-wrap: nowrap !important;
      justify-content: flex-end !important;
      width: 100%;
      gap: 8px;
}

/* =============================================
   THEME BUILDER FOOTER (Merch Footer)
   ============================================= */
[data-elementor-type="footer"] {
      background-color: #1a1a1a;
}
[data-elementor-type="footer"] p,
[data-elementor-type="footer"] li {
      color: #f5f3ef;
}
[data-elementor-type="footer"] a {
      color: #f5f3ef;
      text-decoration: none;
      line-height: 2;
      transition: color 0.2s ease;
}
[data-elementor-type="footer"] a:hover {
      color: #c9a96e;
}
[data-elementor-type="footer"] .elementor-heading-title {
      color: #c9a96e !important;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      font-size: 0.85rem;
      font-weight: 700;
      margin-bottom: 4px;
}
[data-elementor-type="footer"] .elementor-widget-text-editor {
      font-size: 0.95rem;
}

/* =============================================
   MERCH HOME — HERO + WHO-WE-ARE BAND
   ============================================= */
.katsu-hero {
      background-color: var(--katsu-off-white);
      padding: 64px 20px 48px;
      text-align: center;
}
.katsu-hero-inner {
      max-width: 760px;
      margin: 0 auto;
}
.katsu-hero-bird {
      width: 84px;
      height: auto;
      margin: 0 auto 20px;
      display: block;
}
.katsu-hero-title {
      font-family: 'Inter', sans-serif;
      font-size: 3.25rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      color: var(--katsu-black);
      margin: 0 0 20px;
      line-height: 1.05;
}
.katsu-hero-copy {
      font-family: 'Inter', sans-serif;
      font-size: 1.08rem;
      line-height: 1.6;
      color: #3a3a3a;
      margin: 0 auto 16px;
      max-width: 640px;
}
.katsu-hero-copy--accent {
      color: var(--katsu-black);
      font-weight: 500;
}
.katsu-hero-btn {
      display: inline-block;
      margin-top: 14px;
      padding: 14px 38px;
      background-color: var(--katsu-accent);
      color: var(--katsu-black);
      font-family: 'Inter', sans-serif;
      font-weight: 700;
      font-size: 0.95rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      text-decoration: none;
      border-radius: var(--katsu-radius);
      transition: all 0.25s ease;
}
.katsu-hero-btn:hover {
      background-color: var(--katsu-accent-hover);
      color: #fff;
      transform: translateY(-2px);
}
.katsu-band {
      background-color: var(--katsu-black);
      padding: 56px 20px;
      text-align: center;
}
.katsu-band-inner {
      max-width: 680px;
      margin: 0 auto;
}
.katsu-band-title {
      font-family: 'Inter', sans-serif;
      font-size: 1.9rem;
      font-weight: 700;
      color: var(--katsu-off-white);
      margin: 0 0 16px;
}
.katsu-band-copy {
      font-family: 'Inter', sans-serif;
      font-size: 1.05rem;
      line-height: 1.65;
      color: #cfcabf;
      margin: 0 0 22px;
}
.katsu-band-link {
      display: inline-block;
      font-family: 'Inter', sans-serif;
      font-weight: 600;
      font-size: 0.95rem;
      color: var(--katsu-accent);
      text-decoration: none;
      letter-spacing: 0.02em;
      transition: color 0.2s ease;
}
.katsu-band-link:hover {
      color: #fff;
}
@media (max-width: 600px) {
      .katsu-hero-title { font-size: 2.3rem; }
      .katsu-hero { padding: 44px 18px 36px; }
      .katsu-hero-copy { font-size: 1rem; }
      .katsu-band-title { font-size: 1.55rem; }
      .katsu-band { padding: 44px 18px; }
}


/* =============================================
   BATCH 4A — SINGLE PRODUCT HERO POLISH
   Larger, bolder title; clean strong price; readable short
   description sitting above the variations. Appended after the
   base single-product rules so these win on the cascade.
   ============================================= */
.woocommerce div.product .product_title {
      font-family: 'Inter', sans-serif;
      font-size: 2.2rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      line-height: 1.1;
      margin-bottom: 10px;
}

.woocommerce div.product .price {
      font-size: 1.5rem;
      font-weight: 700;
      color: var(--katsu-black);
      margin-bottom: 18px;
}

.woocommerce div.product .woocommerce-product-details__short-description {
      font-family: 'Inter', sans-serif;
      font-size: 1.02rem;
      line-height: 1.6;
      color: #3a3a3a;
      max-width: 540px;
      margin: 0 0 24px;
}
.woocommerce div.product .woocommerce-product-details__short-description p {
      margin: 0 0 10px;
}
.woocommerce div.product .woocommerce-product-details__short-description p:last-child {
      margin-bottom: 0;
}

/* =============================================
   BATCH 4A — TRUST STRIP (single product page)
   Renders just under the Add-to-Cart form. Each item carries a
   small gold dot; a soft note sits beneath.
   ============================================= */
.katsu-trust {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 10px 22px;
      margin: 22px 0 10px;
      padding-top: 20px;
      border-top: 1px solid var(--katsu-light-gray);
}
.katsu-trust-item {
      display: inline-flex;
      align-items: center;
      font-family: 'Inter', sans-serif;
      font-size: 0.9rem;
      font-weight: 600;
      color: var(--katsu-gray);
      letter-spacing: 0.01em;
}
.katsu-trust-item::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--katsu-accent);
      margin-right: 9px;
      flex: 0 0 auto;
}
.katsu-trust-note {
      font-family: 'Inter', sans-serif;
      font-size: 0.9rem;
      line-height: 1.55;
      color: var(--katsu-gray);
      max-width: 540px;
      margin: 6px 0 0;
}

@media (max-width: 600px) {
      .woocommerce div.product .product_title { font-size: 1.75rem; }
      .woocommerce div.product .price { font-size: 1.3rem; }
      .katsu-trust { gap: 8px 16px; }
      .katsu-trust-item { font-size: 0.85rem; }
}
