/* Power House Optics — matte materials and motion. No content or layout changes. */
:root {
  --matte-surface: linear-gradient(145deg, rgb(34 33 41 / .70), rgb(18 18 24 / .60) 60%, rgb(23 21 31 / .68));
  --matte-edge: rgb(235 228 255 / .12);
  --matte-shadow: inset 0 1px 0 rgb(255 255 255 / .055), 0 12px 36px -20px rgb(0 0 0 / .65);
  --fluid-ease: cubic-bezier(.22, .8, .25, 1);
}
html { scroll-behavior: smooth; }
body { background-color: #09090b; -webkit-font-smoothing: antialiased; }
.glass-panel, .glass-card, .glass-panel-selected, .footer-panel, .bottom-cta {
  background: var(--matte-surface) !important;
  border-color: var(--matte-edge);
  box-shadow: var(--matte-shadow) !important;
  -webkit-backdrop-filter: blur(16px) saturate(110%);
  backdrop-filter: blur(16px) saturate(110%);
  transition: border-color 240ms ease, box-shadow 320ms ease, transform 420ms var(--fluid-ease);
}
.glass-card::before, .glass-card:hover::before {
  background: linear-gradient(125deg, rgb(255 255 255 / .025), transparent 48%) !important;
  opacity: 1;
}
.glass-card:hover { transform: none; border-color: var(--matte-edge); }
.neon-glow-blob, .glow-blob, .aurora-blob {
  animation: none !important;
  pointer-events: none;
  will-change: auto !important;
}
.aurora-bg, .ambient-bg { background-color: #09090b; }
.site-nav {
  background: rgb(19 19 25 / .64);
  -webkit-backdrop-filter: blur(20px) saturate(110%);
  backdrop-filter: blur(20px) saturate(110%);
  border-bottom-color: rgb(235 228 255 / .10);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .03);
}
.site-nav.is-scrolled { background: rgb(19 19 25 / .78); box-shadow: 0 8px 24px -14px #0009; }
.site-footer { background: rgb(12 12 16 / .55); }
.glass-button, .btn-secondary, .menu-toggle, .category-pill {
  background: linear-gradient(145deg, rgb(49 46 59 / .56), rgb(26 25 33 / .64));
  border-color: rgb(235 228 255 / .15);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .045);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.btn-primary { background: linear-gradient(135deg, rgb(196 181 253 / .88), rgb(178 155 236 / .84)); box-shadow: inset 0 1px 0 #ffffff30, 0 5px 16px #0002; }
.primary-hover-glow:hover, .btn-glow-expand:hover, .btn-primary:hover, .nav-book:hover {
  box-shadow: inset 0 1px 0 #ffffff30, 0 8px 22px -12px #a78bfa50;
}
.shimmer-effect::after, .btn-shimmer::after { display: none; }
button, .btn-primary, .btn-secondary, .nav-book, a.glass-card, .glass-button {
  transition: transform 320ms var(--fluid-ease), background-color 220ms ease, border-color 220ms ease, box-shadow 280ms ease;
  touch-action: manipulation;
}
button:active:not(:disabled), .btn-primary:active, .btn-secondary:active, .nav-book:active, a.glass-card:active {
  transform: scale(.98);
  transition-duration: 90ms;
}
input:not([type=radio]):not([type=checkbox]), select, textarea, .glass-input {
  background: rgb(12 12 17 / .56) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: inset 0 1px 3px #0003;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
input:focus, select:focus, textarea:focus { box-shadow: 0 0 0 3px #a78bfa1c, inset 0 1px 3px #0002; }
[data-kit-card].is-selected {
  background: linear-gradient(135deg, rgb(49 40 66 / .76), rgb(26 23 34 / .72)) !important;
  border-color: #a78bfa80 !important;
}
.catalog-image, .catalog-card[data-category=Camera] .catalog-image, .equipment-photo {
  background: linear-gradient(145deg, rgb(25 24 31 / .45), rgb(13 13 18 / .38) 80%);
}
.catalog-image img { transition: transform 650ms var(--fluid-ease); }
.pho-reveal {
  opacity: 0; translate: 0 16px;
  transition: opacity 650ms var(--fluid-ease), translate 750ms var(--fluid-ease), border-color 240ms ease, box-shadow 320ms ease, transform 420ms var(--fluid-ease);
  transition-delay: var(--reveal-delay, 0ms), var(--reveal-delay, 0ms), 0ms, 0ms, 0ms;
}
.pho-reveal.is-visible, .pho-reveal:focus-within { opacity: 1; translate: 0 0; }
.pho-enter { animation: pho-enter 700ms var(--fluid-ease) both; }
@media (hover:hover) and (pointer:fine) {
  .catalog-card:hover, [data-kit-card]:hover, a.glass-card:hover {
    transform: translateY(-3px);
    border-color: rgb(196 181 253 / .27);
    box-shadow: inset 0 1px 0 #ffffff0e, 0 18px 36px -22px #000c !important;
  }
  .catalog-card:hover img { transform: scale(1.025); }
  .btn-secondary:hover, .glass-button:hover { background: linear-gradient(145deg, rgb(60 54 74 / .70), rgb(35 31 46 / .72)); border-color: #a78bfa66; }
}
@media (max-width:900px) {
  .glass-panel, .glass-card, .glass-panel-selected, .footer-panel, .bottom-cta {
    background: linear-gradient(145deg, rgb(33 32 40 / .76), rgb(19 19 25 / .70)) !important;
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
  .neon-glow-blob, .glow-blob, .aurora-blob { filter: blur(48px) !important; }
  .page-shell, .checkout-shell, .catalog-content, .quote-panel, .date-fields, .editorial-grid > * { min-width: 0; }
}
@media (max-width:767px) {
  .nav-links { background: rgb(23 22 30 / .84); -webkit-backdrop-filter:none; backdrop-filter:none; }
  .nav-links.open { animation: pho-menu-in 260ms var(--fluid-ease) both; }
  .pho-reveal { translate: 0 10px; }
  .pho-reveal.is-visible, .pho-reveal:focus-within { translate: 0 0; }
  .catalog-card:hover img { transform: none; }
  .site-nav { -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
}
@keyframes pho-menu-in { from { opacity: 0; translate: 0 -6px; } to { opacity: 1; translate: 0 0; } }
/* Progressive enhancement for browsers supporting transitions between pages. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: pho-page-out 140ms ease both; }
::view-transition-new(root) { animation: pho-page-in 220ms var(--fluid-ease) both; }
@keyframes pho-page-out { to { opacity: 0; } }
@keyframes pho-page-in { from { opacity: 0; } to { opacity: 1; } }
@supports not (backdrop-filter: blur(1px)) {
  .glass-panel, .glass-card, .glass-panel-selected, .footer-panel, .bottom-cta { background: linear-gradient(145deg, #222129, #14141b) !important; }
  .site-nav { background: #131319; }
}
@media (prefers-reduced-transparency:reduce) {
  .glass-panel, .glass-card, .glass-panel-selected, .footer-panel, .bottom-cta { background: #1b1a22 !important; }
  .site-nav { background: #131319; }
}
@media (prefers-reduced-motion:reduce) {
  @view-transition { navigation: none; }
  html { scroll-behavior: auto; }
  .pho-reveal { opacity: 1; translate: none; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Transparent surfaces retain fully opaque text, icons and equipment photos. */
.nav-book, [data-home-dates], a.shimmer-effect { background: rgb(245 243 255 / .88); }
.nav-book:hover, [data-home-dates]:hover, a.shimmer-effect:hover { background: rgb(196 181 253 / .92); }
.request-text, .enquiry-panel pre { background: rgb(9 9 11 / .55); }
.filter-group button[aria-pressed=true] { background: rgb(167 139 250 / .16); }
option { background: #18181f; color: #fafafa; }
@media (prefers-reduced-transparency:reduce) {
  .site-footer, .glass-button, .btn-secondary, .menu-toggle, .category-pill, .request-text, .enquiry-panel pre, .nav-links { background: #1b1a22 !important; }
  input:not([type=radio]):not([type=checkbox]), select, textarea { background: #0c0c11 !important; }
  .nav-book, [data-home-dates], a.shimmer-effect { background: #f5f3ff; }
  .btn-primary { background: #c4b5fd; }
}

/* Restore the original luminous backgrounds; retain the matte component surfaces. */
body[data-page=index] .camera-parallax-img { opacity: .62; }
@media(max-width:767px) { body[data-page=index] .camera-parallax-img { opacity: .36; } }
/* Dates read as part of the shared glass surface, rather than nested dark boxes. */
input[type=date], .date-fields input[type=date], .checkout-shell .date-fields input[type=date] {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0;
  box-shadow: none !important;
  color: #fafafa;
  padding: 8px 0;
  min-height: 48px;
  cursor: pointer;
}
.date-fields label {
  padding: 4px 0;
  border-bottom: 1px solid rgb(235 228 255 / .16);
  transition: border-color 180ms ease;
}
.date-fields label:focus-within { border-bottom-color: #c4b5fd; }
input[type=date]::-webkit-calendar-picker-indicator { opacity: .75; cursor: pointer; padding: 8px; }
body[data-page=index] main>section:first-child .glass-card:has([data-home-dates]) { border-radius: 40px; }
body[data-page=index] main>section:first-child .glass-card input[type=date] { padding: 0; }
@media(max-width:767px) {
  body[data-page=index] main>section:first-child .glass-card:has([data-home-dates]) { border-radius: 28px; }
}
