/* Client tokens and 21st-derived shared chrome; original Hart content layout remains. */
body:not(.home) #header,body:not(.home) #footer{display:none!important}
body{background:#0a0a0a;color:#d9d9d9}
.phx-wrap{width:88.9%;max-width:1560px;margin-inline:auto}
.phx-store-notice{background:#1a1a1a;padding:10px 5.55%;font:12px/1.5 Montserrat,Arial,sans-serif;display:flex;justify-content:space-between;gap:20px}
.phx-store-notice a{color:#ddd;text-decoration:underline}
.phx-header{height:106px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff25;position:relative;z-index:10}
.phx-brand{display:flex;width:270px;flex-shrink:0}.phx-brand img{width:100%;height:auto;object-fit:contain}
.phx-desktop-nav{display:flex;align-items:center}.phx-desktop-nav>a{border-left:1px solid #ffffff25;padding:12px 24px;font-size:12px;color:#fff}.phx-desktop-nav>a:hover{color:#ffc84d}
.phx-primary,.phx-desktop-nav>.phx-primary{display:inline-flex;align-items:center;justify-content:center;padding:19px 28px;background:#ff6a00;color:#0a0a0a!important;font-weight:700;font-size:12px;white-space:nowrap;margin-left:14px;border:0}
.phx-mobile-menu{display:none;position:relative}.phx-mobile-menu summary{list-style:none;border:1px solid #ffffff50;padding:12px 16px;font-size:12px;cursor:pointer}.phx-mobile-menu summary::-webkit-details-marker{display:none}
.phx-mobile-menu nav{position:absolute;right:0;top:55px;display:flex;flex-direction:column;width:230px;background:#1a1a1a;border:1px solid #555;padding:12px;box-shadow:0 16px 40px #0008}.phx-mobile-menu nav a{padding:15px;color:#fff;font-size:12px}
.phx-footer{padding:90px 0 28px;border-top:1px solid #ffffff25;background:#0a0a0a;margin-top:60px}
.phx-footer-columns{display:grid;grid-template-columns:1fr 1fr;gap:100px}.phx-footer-brand{max-width:400px}.phx-footer-brand img{width:280px;height:auto}.phx-footer p{font-size:12px;line-height:1.9;color:#bdbdbd}.phx-footer-brand p:first-of-type{margin-top:24px}.phx-footer a{color:#d9d9d9;overflow-wrap:anywhere}.phx-footer a:hover{color:#ffc84d}.phx-footer nav h3{font-family:Montserrat,Arial,sans-serif!important;font-size:13px;color:#fff;margin-bottom:24px}.phx-footer ul{list-style:none;padding:0;columns:2}.phx-footer li{margin:0 0 14px;font-size:12px}.phx-footer-bottom{border-top:1px solid #ffffff25;margin-top:55px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:#999;font-size:10px}
.phx-header a:focus-visible,.phx-footer a:focus-visible,.phx-mobile-menu summary:focus-visible{outline:3px solid #ffc84d;outline-offset:5px}
/* Preserve Hart hero geometry with owned desert art; no borrowed client media. */
body:not(.home) .hero-section{background:linear-gradient(90deg,#0a0a0ae8,#0a0a0a88),url('assets/phoenix/sonoran-dusk.png') center 48%/cover!important;min-height:250px;color:#fff}
.hero-section .page-title{color:#fff!important}
body .hl-pdp-trust__item::before,body .entry-summary .csf-ruo::before,body .single-product .csf-coa-block::before{display:none}
@media(max-width:1100px){.phx-desktop-nav{display:none}.phx-mobile-menu{display:block}.phx-header{height:90px}}
@media(max-width:640px){.phx-brand{width:215px}.phx-header{height:84px}.phx-store-notice{display:block;font-size:11px}.phx-store-notice a{display:block;margin-top:3px}.phx-footer{padding-top:60px}.phx-footer-columns{grid-template-columns:1fr;gap:40px}.phx-footer-bottom{flex-direction:column;gap:10px}.phx-footer ul{columns:2}}
@media(max-width:360px){.phx-brand{width:180px}.phx-mobile-menu summary{padding:10px}}

.phx-size-table{margin:24px 0;padding:24px;border:1px solid #ffffff25;background:#1a1a1a}.phx-size-table h2{font-size:22px;margin:0 0 18px}.phx-size-table table{width:100%;border-collapse:collapse}.phx-size-table th,.phx-size-table td{padding:12px;text-align:left;border-bottom:1px solid #ffffff25;font-size:13px}.phx-size-table p{margin:14px 0 0;font-size:11px;color:#bdbdbd}

/* Original Phoenix catalog panels are deliberate information cards, never synthetic product photos. */
.phx-catalog-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;min-height:245px;padding:26px 20px 55px;background:radial-gradient(ellipse at 50% 15%,#45200f 0,#16110e 40%,#101010 75%);border:1px solid #ffffff18;text-align:center;color:#fff!important;text-decoration:none!important}
.phx-catalog-panel>img{display:block!important;position:static!important;width:100px!important;height:100px!important;max-width:100px!important;object-fit:contain!important;aspect-ratio:1!important}
.phx-catalog-panel__text{display:flex;flex-direction:column;gap:8px}.phx-catalog-panel strong{font-family:Cinzel,Georgia,serif;font-size:19px;line-height:1.3;color:#ffc84d}.phx-catalog-panel__text>span{font-size:12px;color:#d9d9d9}.phx-catalog-panel small{font-size:9px;line-height:1.6;color:#aaa}

.products li.product figure:has(>.phx-catalog-panel)>.out-of-stock-badge{display:none!important}
.woocommerce-product-gallery .phx-catalog-panel{min-height:205px;padding:26px;flex-direction:row;text-align:left;justify-content:flex-start;gap:24px}.woocommerce-product-gallery .phx-catalog-panel>img{width:90px!important;height:90px!important}
.hl-qv__media>.phx-catalog-panel{min-height:220px;padding:24px}.out-of-stock-badge{font-size:10px!important}
@media(max-width:640px){.phx-catalog-panel{min-height:225px}.woocommerce-product-gallery .phx-catalog-panel{min-height:165px;padding:18px;gap:16px}.woocommerce-product-gallery .phx-catalog-panel>img{width:64px!important;height:64px!important}.woocommerce-product-gallery .phx-catalog-panel strong{font-size:22px}.phx-size-table{padding:18px;margin:16px 0}}

/* Inactive tabs remain readable despite the inherited Hart solid-button text rule. */
.single-product .hl-pdp-subtabs__btn[aria-selected="false"]{color:#d9d9d9!important;background:#1a1a1a;border-color:#777}
.single-product .hl-pdp-subtabs__btn[aria-selected="false"]:hover{color:#ffc84d!important;border-color:#ffc84d}
.single-product .hl-pdp-subtabs__btn[aria-selected="true"]{color:#0a0a0a!important;background:#ff6a00}
.single-product .hl-pdp-subtabs__btn::before{display:none}
body .out-of-stock-badge{font-family:Montserrat,Arial,sans-serif!important;font-size:11px!important;line-height:1.5!important;font-weight:600!important;letter-spacing:.02em!important}
.csf-launch-catalog-notice{font-family:Montserrat,Arial,sans-serif;font-size:13px;line-height:1.75;padding:16px 18px;margin:18px 0;border:1px solid #ff6a0066;background:#21160f;color:#f5f5f5}

/* Classic Woo notices use Phoenix's dark surface instead of Blocksy's light default. */
body.woocommerce-page :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-thankyou-order-received){
  --background-color:#1a1a1a;
  --theme-text-color:#f5f5f5;
  background:#1a1a1a;
  color:#f5f5f5;
  border:1px solid #ff6a008c;
  border-left-width:3px;
  font-size:16px;
  font-weight:500;
  line-height:1.65;
}
body.woocommerce-page .woocommerce-info{border-left-color:#ffc84d}
body.woocommerce-page .woocommerce-info::before{color:#ffc84d}
body.woocommerce-page :is(.woocommerce-message,.woocommerce-thankyou-order-received){border-left-color:#8fdf9a}
body.woocommerce-page .woocommerce-message::before{color:#8fdf9a}
body.woocommerce-page .woocommerce-error{border-left-color:#ff9b9b}
body.woocommerce-page .woocommerce-error::before{color:#ff9b9b}
body.woocommerce-page :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-thankyou-order-received) a:not(.button){color:#ffc84d;text-decoration:underline;text-underline-offset:3px}
body.woocommerce-page :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) .button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  background:#ff6a00;
  color:#0a0a0a!important;
}
body.woocommerce-page :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) .button:hover{background:#ffc84d;color:#0a0a0a!important}
body.woocommerce-page :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) :is(a,button):focus-visible{outline:3px solid #ffc84d;outline-offset:3px}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-form-row em{font-size:14px;line-height:1.6;font-style:normal;opacity:1;color:#d9d9d9}

/* Missing-photo PDP panels already show ordering status; suppress only the duplicate overlay. */
.single-product .woocommerce-product-gallery:has(.phx-catalog-panel) .out-of-stock-badge{display:none!important}

/* The current COA heading, size controls and content each use the full panel width. */
.single-product .csf-coa-block[data-csf-coa-block] {
  grid-template-columns: minmax(0, 1fr);
  row-gap: 14px;
}
.single-product .csf-coa-block[data-csf-coa-block]::before { display: none; }
.single-product .csf-coa-block[data-csf-coa-block] > * {
  grid-column: 1 / -1;
  min-width: 0;
}
.single-product .csf-coa-block[data-csf-coa-block] > .csf-coa-flip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

/* Size controls use the same readable states as the product tabs. */
.single-product .phx-variant-options > button:not(:disabled),
.single-product .csf-coa-flip > .csf-coa-flip__chip:not(:disabled) {
  color: #d9d9d9 !important;
  background: #1a1a1a !important;
  border-color: #777 !important;
}
.single-product .phx-variant-options > button:not(:disabled):hover,
.single-product .phx-variant-options > button:not(:disabled):focus-visible,
.single-product .csf-coa-flip > .csf-coa-flip__chip:not(:disabled):hover,
.single-product .csf-coa-flip > .csf-coa-flip__chip:not(:disabled):focus-visible {
  color: #ffc84d !important;
  border-color: #ffc84d !important;
}
.single-product .phx-variant-options > button:not(:disabled)[aria-pressed="true"],
.single-product .csf-coa-flip > .csf-coa-flip__chip:not(:disabled)[aria-pressed="true"] {
  color: #0a0a0a !important;
  background: #ff6a00 !important;
  border-color: #ff6a00 !important;
}
.single-product .phx-variant-options > button:not(:disabled)[aria-pressed="true"]:hover,
.single-product .phx-variant-options > button:not(:disabled)[aria-pressed="true"]:focus-visible,
.single-product .csf-coa-flip > .csf-coa-flip__chip:not(:disabled)[aria-pressed="true"]:hover,
.single-product .csf-coa-flip > .csf-coa-flip__chip:not(:disabled)[aria-pressed="true"]:focus-visible {
  background: #ffc84d !important;
  border-color: #ffc84d !important;
}
/* Missing certificates keep their status text and a dashed outline without fading the label. */
.single-product .csf-coa-flip > .csf-coa-flip__chip.is-empty:not(:disabled) {
  opacity: 1 !important;
  border-style: dashed;
}

/* Native dialogs default to black text; quick-view tables need their own dark-surface palette. */
.hl-qv .phx-size-table,
.hl-qv .phx-size-table table,
.hl-qv .phx-size-table :is(th, td),
.hl-qv table.variations,
.hl-qv table.variations :is(th, td, label) {
  color: #d9d9d9 !important;
}
.hl-qv table.variations select {
  color: #d9d9d9 !important;
  background-color: #1a1a1a !important;
  border-color: #777 !important;
}
/* Override the shared solid-button text rule only for quick-view size choices. */
.hl-qv .phx-variant-options > button:not(:disabled) {
  color: #d9d9d9 !important;
  background: #1a1a1a !important;
  border-color: #777 !important;
}
.hl-qv .phx-variant-options > button:not(:disabled):hover,
.hl-qv .phx-variant-options > button:not(:disabled):focus-visible {
  color: #ffc84d !important;
  border-color: #ffc84d !important;
}
.hl-qv .phx-variant-options > button:not(:disabled)[aria-pressed="true"] {
  color: #0a0a0a !important;
  background: #ffb34d !important;
  border-color: #ffb34d !important;
}
.hl-qv .phx-variant-options > button:not(:disabled)[aria-pressed="true"]:hover,
.hl-qv .phx-variant-options > button:not(:disabled)[aria-pressed="true"]:focus-visible {
  color: #0a0a0a !important;
  background: #ffc84d !important;
  border-color: #ffc84d !important;
}
.hl-qv .phx-variant-options > button:focus-visible {
  outline: 3px solid #ffc84d !important;
  outline-offset: 3px;
}

/* One editable announcement source; static, readable copy is the fallback. */
.phx-announcements {
  display: flex;
  align-items: stretch;
  gap: 12px;
  padding: 0 5.55%;
  min-height: 48px;
  background: #18110d;
  color: #f4efe7;
  border-bottom: 1px solid #8c5a2f;
  font: 600 14px/1.45 Montserrat, Arial, sans-serif;
}
.phx-announcements__window { display: flex; align-items: center; min-width: 0; flex: 1; overflow: hidden; }
.phx-announcements__track { display: flex; }
.phx-announcements__group {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8px 24px;
  list-style: none;
  margin: 0;
  padding: 8px 16px;
  min-height: 48px;
  width: 100%;
}
.phx-announcements__group li { margin: 0; }
.phx-announcements__group li::before { content: "\2022"; margin-right: 24px; color: #ffad42; }
.phx-announcements__group[aria-hidden="true"] { display: none; }
.phx-announcements__pause {
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  max-width: none;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  min-height: 44px;
  padding: 8px 12px;
  align-self: center;
  margin-block: 2px;
  border: 1px solid #a46d3c;
  border-radius: 4px;
  background: transparent;
  color: #f4efe7 !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}
.phx-announcements__pause[hidden] { display: none; }
.phx-announcements__pause:hover { background: #2a1b13; border-color: #ffad42; color: #ffad42 !important; }
.phx-announcements__pause:focus-visible { outline: 3px solid #ffad42 !important; outline-offset: -4px; }
.phx-announcements.is-ready .phx-announcements__track {
  width: max-content;
  animation: phx-announcement-scroll var(--phx-announcement-duration, 40s) linear infinite;
}
.phx-announcements.is-ready .phx-announcements__group {
  display: flex;
  flex-wrap: nowrap;
  flex: 0 0 auto;
  width: max-content;
  min-width: 0;
  --phx-announcement-gap: clamp(24px, 2.5vw, 40px);
  gap: var(--phx-announcement-gap);
  padding-inline: calc(var(--phx-announcement-gap) / 2);
  white-space: nowrap;
}
.phx-announcements.is-ready.is-paused .phx-announcements__track {
  animation-play-state: paused;
}
.phx-announcements:hover .phx-announcements__track,
.phx-announcements:focus-within .phx-announcements__track { animation-play-state: paused !important; }
@keyframes phx-announcement-scroll { to { transform: translateX(calc(-1 * var(--phx-announcement-distance, 50%))); } }
/* At rest the complete original list wraps; duplicates never reach a screen reader. */
@media (prefers-reduced-motion: reduce) {
  .phx-announcements .phx-announcements__track { animation: none !important; transform: none !important; width: auto !important; }
  .phx-announcements .phx-announcements__group { flex-wrap: wrap !important; width: 100% !important; min-width: 0 !important; white-space: normal !important; }
  .phx-announcements .phx-announcements__group[aria-hidden="true"],
  .phx-announcements__pause { display: none !important; }
}
@media (max-width: 800px) {
  .phx-announcements { min-height: 44px; padding-inline: 12px; gap: 8px; font-size: 13px; }
  .phx-announcements__pause { padding-inline: 10px; }
  .phx-announcements__group { --phx-announcement-gap: 16px; min-height: 44px; padding-inline: 8px; }
  .phx-announcements__group li::before { margin-right: 16px; }
}
/* Extra library link fits the same header without crowding its logo. */
@media (min-width: 1101px) {
  .phx-desktop-nav > a { padding-inline: clamp(12px, 1.3vw, 22px); }
}
