/* My Zawar — page helpers + missed utility coverage */

.bg-surface-image { background-color: var(--surface-image); }
.appearance-none { -webkit-appearance: none; appearance: none; }
.transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: 150ms;
}
.filter-check-tick { }
.filter-icon { display: inline-block; }
.price-range { position: relative; }
.pdp-tab { cursor: pointer; }
.accent-\[var\(--wine-700\)\] { accent-color: var(--wine-700); }

.checked\:bg-wine-700:checked { background-color: var(--wine-700); }
.checked\:border-wine-700:checked { border-color: var(--wine-700); }

.\!px-0 { padding-left: 0 !important; padding-right: 0 !important; }
.\!py-0 { padding-top: 0 !important; padding-bottom: 0 !important; }

.group:hover .group-hover\:scale-\[1\.03\] { transform: scale(1.03); }
.group[open] .group-open\:rotate-180,
details[open] > summary .group-open\:rotate-180 { transform: rotate(180deg); }
.group:focus-visible .group-focus-visible\:bg-wine-900\/55 { background-color: rgba(46, 11, 19, .55); }
.group:focus-visible .group-focus-visible\:opacity-100 { opacity: 1; }

.has-\[\:checked\]\:border-gold-500:has(:checked) { border-color: var(--gold-500); }
.has-\[\:checked\]\:ring-\[3px\]:has(:checked) { box-shadow: 0 0 0 3px rgba(194, 160, 92, .2); }
.has-\[\:checked\]\:ring-gold-500\/20:has(:checked) { --tw-ring-color: rgba(194, 160, 92, .2); }

@media (max-width: 425px) {
  .max-\[425px\]\:h-auto { height: auto; }
  .max-\[425px\]\:py-\[10px\] { padding-top: 10px; padding-bottom: 10px; }
}
@media (max-width: 768px) {
  .max-\[768px\]\:\!ml-0 { margin-left: 0 !important; }
}

@media (min-width: 768px) {
  .md\:left-1\/2 { left: 50%; }
  .md\:col-start-2 { grid-column-start: 2; }
}

.last\:pb-0:last-child { padding-bottom: 0; }

.-left-10 { left: -2.5rem; }
.-right-16 { right: -4rem; }
.-top-20 { top: -5rem; }
.-bottom-6 { bottom: -1.5rem; }
.-left-4 { left: -1rem; }
.-right-4 { right: -1rem; }
.-top-4 { top: -1rem; }
.-bottom-1\.5 { bottom: -0.375rem; }
.-left-16 { left: -4rem; }
.-right-24 { right: -6rem; }
.-right-40 { right: -10rem; }
.-top-16 { top: -4rem; }
.-top-40 { top: -10rem; }
.top-1\/2 { top: 50%; }
.left-1\/4 { left: 25%; }
.inset-x-2 { left: 0.5rem; right: 0.5rem; }

@media (min-width: 1024px) {
  .lg\:-left-6 { left: -1.5rem; }
  .lg\:-right-6 { right: -1.5rem; }
  .lg\:-top-6 { top: -1.5rem; }
  .lg\:divide-x > :not([hidden]) ~ :not([hidden]) {
    border-left-width: 1px;
    border-style: solid;
    border-color: inherit;
  }
  .lg\:auto-rows-fr { grid-auto-rows: minmax(0, 1fr); }
}

.bg-\[\#FBF0F0\] { background-color: #FBF0F0; }
.bg-\[length\:12px\] { background-size: 12px; }
.bg-\[right_1rem_center\] { background-position: right 1rem center; }
.bg-no-repeat { background-repeat: no-repeat; }
.grayscale { filter: grayscale(100%); }
.hover\:grayscale-0:hover { filter: grayscale(0); }
.border-collapse { border-collapse: collapse; }
.border-\[10px\] { border-width: 10px; }
.fill-gold-700 { fill: var(--gold-700); }
.blur-3xl { filter: blur(64px); }
.ring-inset { --tw-ring-inset: inset; }
.auto-rows-\[190px\] { grid-auto-rows: 190px; }
.transition-\[width\] { transition-property: width; transition-timing-function: cubic-bezier(.4,0,.2,1); transition-duration: 150ms; }

@media (min-width: 640px) {
  .sm\:auto-rows-\[220px\] { grid-auto-rows: 220px; }
  .sm\:border-\[12px\] { border-width: 12px; }
}

.panel.translate-x-full { transform: translateX(100%); }
.panel.-translate-x-full { transform: translateX(-100%); }
.panel.translate-x-0 { transform: translateX(0); }

[data-sticky-atc].is-visible {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.border-success { border-color: var(--success); }
.border-danger { border-color: var(--danger); }
.border-info { border-color: var(--info); }
.border-success\/25 { border-color: rgba(47, 107, 79, .25); }
.border-danger\/30 { border-color: rgba(163, 36, 36, .3); }
.text-danger { color: var(--danger); }
.text-success { color: var(--success); }
.text-info { color: var(--info); }
.border-l-\[3px\] { border-left-width: 3px; border-left-style: solid; }
.translate-y-3 { transform: translateY(0.75rem); }
.rotate-180 { transform: rotate(180deg); }
.animate-pop { animation: pop .45s cubic-bezier(.22, 1, .36, 1); }
@keyframes pop {
  0%, 100% { transform: scale(1); }
  45% { transform: scale(1.28); }
}
.visible { visibility: visible; }
.bg-\[\#F0F7F3\] { background-color: #F0F7F3; }
.ring-\[3px\] { box-shadow: 0 0 0 3px var(--tw-ring-color, rgba(194, 160, 92, .4)); }
.hover\:border-gold-400:hover { border-color: var(--gold-400); }
.hover\:text-wine-700:hover { color: var(--wine-700); }
.border-ivory-500 { border-color: var(--ivory-500); }
.text-ink-300 { color: var(--ink-300); }
.mt-1\.5 { margin-top: 0.375rem; }
.leading-\[1\.6\] { line-height: 1.6; }
.z-\[1\] { z-index: 1; }
.h-9 { height: 2.25rem; }
.w-9 { width: 2.25rem; }
.border-2 { border-width: 2px; border-style: solid; }

.backdrop {
  opacity: 0;
  visibility: hidden;
}
.backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

#searchPanel.-translate-y-full { transform: translateY(-100%); }
#searchPanel:not(.-translate-y-full) { transform: translateY(0); }
