:root { --accent: rgb(33, 59, 152); --header-height: 91px; --price-color: #ffffff; --price-shadow: rgba(33, 59, 152, 0.5); }
      body { padding-top: 0 !important; }
      html { scroll-padding-top: 0 !important; }
      #react-navbar-root { min-height: var(--header-height); }
      #age-gate-overlay { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,0.92); display: flex; align-items: center; justify-content: center; }
      .age-gate-modal { max-width: 420px; width: 90%; background: #030712; border-radius: 16px; padding: 26px; text-align: center; color: #f9fafb; border: 1px solid rgba(33, 59, 152, 0.35); }
      .age-gate-modal h1 { margin-bottom: 10px; font-size: 1.7rem; }
      .age-gate-modal p { margin-bottom: 14px; color: #e5e7eb; }
      .age-gate-highlight { font-weight: 600; color: rgba(33, 59, 152, 0.9); }
      .age-gate-buttons { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 14px 0; }
      .age-gate-buttons button { padding: 10px 20px; font-size: 1rem; font-weight: 600; border-radius: 999px; cursor: pointer; border: none; }
      #age-gate-yes { background: linear-gradient(to right, rgb(33, 59, 152), rgb(71, 103, 196)); color: #e5e7eb; }
      #age-gate-no { background: transparent; color: #e5e7eb; border: 1px solid #4b5563; }
      .age-gate-note { font-size: 0.75rem; color: #9ca3af; }
      .age-gate-note a { color: rgba(33, 59, 152, 0.9); }
      #age-gate-overlay.is-hidden { display: none; }
      .product-page { min-height: calc(100vh - var(--header-height)); background: radial-gradient(circle at 20% 20%, rgba(33, 59, 152, 0.14), transparent 26%), linear-gradient(145deg, #070a12 0%, #0b1220 60%, #070a12 100%); padding: 20px 0 0; }
      .product-page .container { max-width: 1000px; margin: 0 auto; padding: 0 clamp(16px, 4vw, 24px); }
      .product-back {
        position: relative;
        overflow: hidden;
        border-radius: 0.625em;
        background: linear-gradient(180deg, #ffffff 0%, #eef4ff 100%);
        color: #111111;
        border: 1px solid #d8dfeb;
        height: 2.3em;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 0 14px;
        margin-bottom: 24px;
        z-index: 1;
        font-weight: 700;
        text-decoration: none;
        transition: color 0.25s ease, transform 0.2s ease;
      }
      .product-back::before {
        content: "";
        position: absolute;
        z-index: -1;
        left: -20%;
        right: -20%;
        top: 0;
        bottom: 0;
        background: #1f3a8a;
        transform: skewX(-45deg) scale(0, 1);
        transition: transform 0.5s ease;
      }
      .product-back:hover,
      .product-back:focus-visible {
        color: #ffffff;
        text-decoration: none;
        transform: translateY(-1px);
      }
      .product-back:hover::before,
      .product-back:focus-visible::before {
        transform: skewX(-45deg) scale(1, 1);
      }
      .product-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
      @media (max-width: 768px) { .product-layout { grid-template-columns: 1fr; } }
      .product-media-column { display: flex; flex-direction: column; gap: 14px; margin: 0; align-self: start; }
      #product-content { opacity: 1; transform: none; transition: opacity 180ms ease, transform 180ms ease; }
      #product-content.is-ready { opacity: 1; transform: translateY(0); }
      .product-image-wrap { background: #ffffff; border-radius: 16px; padding: 24px; border: 1px solid #e2e8f0; }
      .product-image-wrap img {
        width: 100%;
        max-width: 320px;
        aspect-ratio: 1;
        object-fit: contain;
        display: block;
        margin: 0 auto;
        background: #ffffff;
        border-radius: 15px;
      }
      .product-info { color: #e5e7eb; display: flex; flex-direction: column; gap: 8px; margin: 0; align-self: start; justify-content: flex-start; }
      @media (min-width: 769px) {
        /* Nudge info column up so title aligns with the top edge of image card. */
        .product-info { margin-top: -10px; }
      }
      .product-title { font-size: clamp(1.7rem, 4vw, 2.5rem); font-weight: 800; margin: 0; line-height: 1.2; letter-spacing: -0.01em; }
      .product-category-link {
        position: relative;
        overflow: hidden;
        border-radius: 0.625em;
        background: linear-gradient(180deg, #ffffff 0%, #eef4ff 100%);
        color: #111111;
        border: 1px solid #d8dfeb;
        height: 2.3em;
        display: inline-flex;
        align-items: center;
        align-self: flex-start;
        padding: 0 12px;
        margin: 0 0 2px;
        z-index: 1;
        font-size: 0.95rem;
        font-weight: 700;
        text-decoration: none;
        transition: color 0.25s ease;
      }
      .product-category-link::before {
        content: "";
        position: absolute;
        z-index: -1;
        left: -20%;
        right: -20%;
        top: 0;
        bottom: 0;
        background: #1f3a8a;
        transform: skewX(-45deg) scale(0, 1);
        transition: transform 0.5s ease;
      }
      .product-category-link:hover,
      .product-category-link:focus-visible {
        color: #ffffff;
        text-decoration: none;
      }
      .product-category-link:hover::before,
      .product-category-link:focus-visible::before {
        transform: skewX(-45deg) scale(1, 1);
      }
      .product-volume { font-size: 1rem; color: rgba(186, 203, 235, 0.92); margin: 0 0 2px; }
      .product-price { font-size: clamp(2rem, 4.2vw, 2.6rem); font-weight: 800; color: var(--price-color, #ffffff); margin: 0 0 6px; text-shadow: 0 0 8px var(--price-shadow, rgba(33, 59, 152, 0.5)); line-height: 1.08; }
      .product-in-store { background: rgba(33, 59, 152, 0.2); border: 1px solid rgba(33, 59, 152, 0.4); border-radius: 10px; padding: 12px 16px; margin: 0; font-size: 0.95rem; display: flex; align-items: center; gap: 10px; color: #ffffff; }
      .product-in-store i {
        color: #ffffff;
        flex: 0 0 auto;
        line-height: 1;
      }
      .product-highlights { margin: 6px 0 0; background: rgba(13, 26, 51, 0.42); border: 1px solid rgba(81, 105, 157, 0.35); border-radius: 12px; padding: 14px 16px; }
      .product-highlights h3 { font-size: 0.9rem; font-weight: 700; margin: 0 0 10px; color: #bed0f7; text-transform: uppercase; letter-spacing: 0.08em; }
      .product-highlights p { font-size: 1rem; line-height: 1.65; color: #e5e7eb; white-space: pre-wrap; margin: 0; }
      .product-highlights p.empty { color: rgba(148, 163, 184, 0.7); font-style: italic; }
      .product-details { margin-top: 10px; background: rgba(13, 26, 51, 0.42); border: 1px solid rgba(81, 105, 157, 0.35); border-radius: 12px; padding: 14px 16px; }
      .product-details h3 { font-size: 0.9rem; font-weight: 700; margin: 0 0 10px; color: #bed0f7; text-transform: uppercase; letter-spacing: 0.08em; }
      .product-details-table { display: grid; grid-template-columns: auto 1fr; gap: 10px 16px; font-size: 0.95rem; }
      .product-details-table dt { color: rgba(169, 187, 224, 0.95); font-weight: 600; }
      .product-details-table dd { margin: 0; color: #f2f6ff; }
      .product-error { text-align: center; padding: 60px 20px; color: #e5e7eb; }
      .product-error a { color: var(--accent); }
      .product-loading { display: none; opacity: 1; transition: opacity 160ms ease; }
      .product-loading.is-fading-out { opacity: 0; }
      .product-loading.no-bounce .wrapper { display: none; }
      .product-loading.no-bounce::after {
        content: 'Loading product...';
        font-size: 0.95rem;
        font-weight: 600;
        color: #334155;
        letter-spacing: 0.01em;
      }
      .is-hidden { display: none; }
      .product-stock-offset { margin: 0 0 8px; align-self: flex-start; }
      /* Temporarily hide Product Details without removing HTML/JS. */
      .product-details.is-hidden-panel { display: none; }
      .product-footer { margin-top: 0; border-top: 0; background: #ffffff; }
      .product-footer-inner {
        padding: 14px clamp(16px, 4vw, 24px) 18px;
        color: #0f172a;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
      }
      .product-footer-social {
        background: #041a56;
        border: 1px solid rgba(31, 58, 138, 0.25);
        border-radius: 14px;
        padding: 10px 14px 11px;
        margin: 0 0 14px;
        min-width: 220px;
      }
      .product-footer-social h4 {
        margin: 0 0 9px;
        font-size: 0.95rem;
        line-height: 1.2;
        font-weight: 800;
        color: #ffffff;
      }
      .product-social-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        gap: 10px;
      }
      .product-social-list li { display: flex; }
      .product-social-list a {
        width: 35px;
        height: 35px;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        line-height: 0;
        background: #ffffff;
        color: #111827;
        text-decoration: none;
        transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
      }
      .product-social-list svg {
        display: block;
        width: auto;
        height: 16px;
        max-width: 16px;
      }
      .product-social-list a:hover,
      .product-social-list a:focus-visible {
        transform: translateY(-1px);
        background: #1f3a8a;
        color: #ffffff;
      }
      .product-footer-links {
        display: flex;
        flex-wrap: wrap;
        gap: 10px 18px;
        margin-bottom: 10px;
        justify-content: center;
      }
      .product-footer-links a {
        color: #0f172a;
        text-decoration: none;
        font-weight: 600;
      }
      .product-footer-links a:hover,
      .product-footer-links a:focus-visible {
        color: #1f3a8a;
        text-decoration: underline;
      }
      .product-footer p {
        margin: 0;
        font-size: 0.88rem;
        line-height: 1.4;
        color: #334155;
      }
      @media (max-width: 640px) {
        .product-page { padding: 14px 0 20px; }
        .product-page .container { padding: 0 12px; }
        .product-back {
          height: 2.1em;
          font-size: 0.92rem;
          margin-bottom: 14px;
          padding: 0 12px;
        }
        .product-layout { gap: 16px; }
        .product-image-wrap {
          padding: 12px;
          border-radius: 14px;
        }
        .product-image-wrap img {
          max-width: 100%;
          border-radius: 12px;
        }
        .product-info {
          gap: 10px;
          margin-top: 0;
        }
        .product-title {
          font-size: clamp(1.5rem, 7vw, 2rem);
          line-height: 1.15;
        }
        .product-category-link {
          height: 2.1em;
          font-size: 0.88rem;
          padding: 0 10px;
          margin: 0;
        }
        .product-price {
          font-size: clamp(1.8rem, 9vw, 2.2rem);
          margin: 0;
        }
        .product-stock-offset { margin: 0 0 6px; }
        .product-in-store {
          padding: 10px 12px;
          font-size: 0.92rem;
        }
        .product-highlights {
          margin: 0;
          padding: 12px;
        }
        .product-highlights h3 {
          font-size: 0.82rem;
          margin: 0 0 8px;
        }
        .product-highlights p {
          font-size: 0.98rem;
          line-height: 1.5;
        }
        .product-footer {
          margin-top: 0;
          border-top: 1px solid rgba(120, 146, 205, 0.28);
          background: linear-gradient(145deg, #070a12 0%, #0b1220 60%, #070a12 100%);
        }
        .product-footer-inner {
          padding: 8px 10px 10px;
          gap: 8px;
          color: #d9e4ff;
        }
        .product-footer-social {
          width: auto;
          max-width: 175px;
          min-width: 0;
          margin-bottom: 6px;
          padding: 6px 8px 7px;
          border-radius: 10px;
        }
        .product-footer-social h4 {
          margin: 0 0 6px;
          font-size: 0.78rem;
          letter-spacing: 0.02em;
        }
        .product-social-list { gap: 8px; }
        .product-social-list a {
          width: 30px;
          height: 30px;
        }
        .product-social-list svg {
          width: auto;
          height: 13px;
          max-width: 13px;
        }
        .product-footer-links {
          gap: 6px 10px;
          margin-bottom: 4px;
          font-size: 0.92rem;
        }
        .product-footer-links a { color: #e5edff; }
        .product-footer-links a:hover,
        .product-footer-links a:focus-visible { color: #9db9ff; }
        .product-footer p {
          max-width: none;
          width: 100%;
          font-size: 0.58rem;
          line-height: 1.2;
          color: #c2d1f5;
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }
      }
