/* FOOTER */
.footer{
  background: #0b0b0b;
  color: rgba(255,255,255,.9);
  padding: 54px 0 28px;
}

.footer__inner{
  max-width: var(--pryzm-max);
  margin: 0 auto;
  padding: 0 18px;
}

.footer__top{
  display: grid;
  grid-template-columns: 1.3fr 2fr 1.2fr;
  gap: 22px;
  align-items: start;
}

.footer__logo{
  height: 72px;
  width: auto;
  display:block;
  filter: none;
}

.footer__tag{
  margin: 12px 0 14px;
  max-width: 360px;
  opacity: .78;
  line-height: 1.5;
}

.footer__social{
  display:flex;
  gap: 14px;
  flex-wrap: wrap;
}
.footer__social a{
  color: rgba(255,255,255,.85);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.20);
  padding-bottom: 2px;
}
.footer__social a:hover{
  color: #fff;
  border-bottom-color: rgba(255,255,255,.45);
}

.footer__cols{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.footer__col{
  display:flex;
  flex-direction: column;
  gap: 10px;
}

.footer__h{
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
  opacity: .9;
  margin-bottom: 6px;
}

.footer a{
  color: rgba(255,255,255,.78);
  text-decoration: none;
  width: fit-content;
}
.footer a:hover{ color:#fff; }

.footer__newsText{
  margin: 0 0 12px;
  opacity: .78;
  line-height: 1.5;
}

.footer__form{
  display:flex;
  gap: 10px;
  margin: 0 0 10px;
}
.footer__form input{
  flex: 1;
  min-width: 0;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(255,255,255,.06);
  color:#fff;
  outline: none;
}
.footer__form input::placeholder{ color: rgba(255,255,255,.55); }
.footer__form input:focus{
  border-color: rgba(255,255,255,.45);
}

.footer__form button{
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: #fff;
  color:#111;
  cursor:pointer;
  font-weight: 650;
}
.footer__form button:hover{ opacity:.95; }

.footer__fine{
  margin: 0;
  font-size: 12px;
  opacity: .62;
}

.footer__bottom{
  margin-top: 32px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
  display:flex;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}

.footer__legal{
  display:flex;
  gap: 10px;
  align-items:center;
  flex-wrap: wrap;
  font-size: 13px;
  opacity: .85;
}
.footer__dot{ opacity:.45; }

.footer__made{
  font-size: 13px;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .78;
}

/* Screen reader only label */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Responsive */
@media (max-width: 980px){
  .footer__top{ grid-template-columns: 1fr; }
  .footer__cols{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 520px){
  .footer__cols{ grid-template-columns: 1fr; }
  .footer__form{ flex-direction: column; }
  .footer__form button{ width: 100%; }
}

    /* POPULAR FRAMES SECTION */
.popular{
  background:#fff;
  position: relative;
  width: 100%;
  padding: 56px 0 64px;
  overflow: hidden;
}

.popular__bg{
  position: absolute;
  inset: 0;
  background: none;
  opacity: 0;
  display:none;
}



/* no overlay wash — show natural background */
.popular::before{
  content:"";
  position:absolute;
  inset:0;
  background: none;
  z-index: 1;
}

.popular__inner{
  position: relative;
  z-index: 2;
  max-width: var(--pryzm-max);
  margin: 0 auto;
  padding: 0 18px;
}

.popular__head{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.popular__title{
  margin: 0;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing: -0.01em;
}

.popular__sub{
  margin: 0;
  opacity: .75;
  max-width: 520px;
}

.popular__grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

/* Card */
.p-card{
  text-decoration:none;
  color: inherit;
  border-radius: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0,0,0,.14);
  box-shadow: none;
  transition: border-color .15s ease;
  display:flex;
  flex-direction: column;
}

.p-card:hover,
.p-card:focus-visible{
  border-color: rgba(0,0,0,.45);
  outline: none;
}


.p-card__img{
  position: relative;
  aspect-ratio: 1 / 1; /* consistent crop */
  overflow: hidden;
  background: #fff;
}

.p-card__img img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  transition: opacity .28s ease, transform .28s ease;
}

.p-card__img2{
  opacity: 0;
  transform: scale(1.02);
}

/* Hover swap + keyboard accessibility */
.p-card:hover .p-card__img2,
.p-card:focus-visible .p-card__img2{
  opacity: 1;
  transform: scale(1.0);
}

.p-card:hover .p-card__img img:first-child,
.p-card:focus-visible .p-card__img img:first-child{
  opacity: 0;
}

.p-card__meta{
  padding: 12px 10px 14px;
  border-top: 1px solid rgba(0,0,0,.10);
  text-align: center;
}

.p-card__name{
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  font-size: 13px;
  margin: 0 0 6px;
}

.p-card__price{
  margin: 0;
  font-size: 13px;
  opacity: .72;
}

/* Responsive */
@media (max-width: 980px){
  .popular__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .popular{ padding: 42px 0 54px; }
  .popular__grid{ grid-template-columns: 1fr; }
}
:root{
      --pryzm-black:#0b0b0b;
      --pryzm-white:#ffffff;
      --pryzm-text:#111;
      --pryzm-shadow: 0 8px 18px rgba(0,0,0,.18);
      --pryzm-hairline: rgba(0,0,0,.08);
      --pryzm-max: 1200px;
    }

    /* Page baseline */
    body{
      margin:0;
      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      color: var(--pryzm-text);
      background:#fff;
    }

    /* HEADER */
    .pryzm-header{ position: sticky; top: 0; z-index: 999; }

    .pryzm-promo{
      background: var(--pryzm-black);
      color: var(--pryzm-white);
      box-shadow: var(--pryzm-shadow);
    }
    .pryzm-promo__inner{
      max-width: var(--pryzm-max);
      margin: 0 auto;
      height: 34px;
      padding: 0 18px;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .pryzm-rotator{
      position: relative;
      height: 16px;
      width: 100%;
      overflow: hidden;
      text-align: center;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .pryzm-rotator__item{
      position: absolute;
      left: 0;
      right: 0;
      opacity: 0;
      transform: translateY(6px);
      transition: opacity .45s ease, transform .45s ease;
      font-size: 12px;
      letter-spacing: .08em;
      text-transform: uppercase;
      white-space: nowrap;
      padding: 0 12px;
    }
    .pryzm-rotator__item.is-active{
      opacity: .95;
      transform: translateY(0);
    }
    .pryzm-rotator strong{ font-weight: 700; }

    .pryzm-main{
      background: var(--pryzm-white);
      border-bottom: 1px solid var(--pryzm-hairline);
    }
    .pryzm-main__inner{
      max-width: var(--pryzm-max);
      margin: 0 auto;
      padding: 14px 18px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
    }
    .pryzm-brand{ display:flex; align-items:center; min-width: 220px; }
    .pryzm-brand__logo{
      height: 96px; /* 3x bigger */
      width: auto;
      display:block;
    }

    .pryzm-nav{
      display:flex;
      align-items:center;
      gap: 22px;
    }
    .pryzm-nav a{
      color: var(--pryzm-text);
      text-decoration: none;
      font-size: 14px;
      letter-spacing: .06em;
      text-transform: uppercase;
      padding: 10px 6px;
      border-radius: 10px;
      transition: background .15s ease, transform .15s ease;
      white-space: nowrap;
    }
    .pryzm-nav a:hover{
      background: rgba(0,0,0,.05);
      transform: translateY(-1px);
    }

    .pryzm-cart{
      display:flex;
      align-items:center;
      gap: 10px;
    }
    .pryzm-cart__pill{
      min-width: 22px;
      height: 22px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border-radius: 999px;
      background: var(--pryzm-black);
      color: var(--pryzm-white);
      font-size: 12px;
      line-height: 1;
      padding: 0 7px;
    }

    .pryzm-burger{
      display:none;
      width: 44px;
      height: 44px;
      border: 1px solid var(--pryzm-hairline);
      background: #fff;
      border-radius: 12px;
      padding: 10px;
      cursor: pointer;
    }
    .pryzm-burger span{
      display:block;
      height: 2px;
      background: #111;
      border-radius: 2px;
      margin: 6px 0;
    }

    /* HERO (full width) */
    .hero{
      position: relative;
      width: 100%;
      height: min(78vh, 760px);
      min-height: 520px;
      overflow: hidden;
      background:#000;
    }
    .hero__bg{ position:absolute; inset:0; }
    .hero__bg img{
      width:100%;
      height:100%;
      object-fit: cover;
      display:block;
      transform: scale(1.02);
      transition: opacity .35s ease;
      opacity: 1;
    }
    .hero.is-fading .hero__bg img{ opacity: 0; }

    .hero__scrim{
      position:absolute; inset:0;
      background: radial-gradient(circle at 25% 45%, rgba(0,0,0,.25), rgba(0,0,0,.55) 55%, rgba(0,0,0,.75));
    }

    .hero__inner{
      position: relative;
      z-index: 2;
      height: 100%;
      max-width: var(--pryzm-max);
      margin: 0 auto;
      padding: 56px 18px 28px;
      display:flex;
      flex-direction: column;
      justify-content: space-between;
      gap: 22px;
      color:#fff;
    }

    .hero__content{ max-width: 620px; }
    .hero__kicker{
      margin:0 0 10px;
      font-size: 12px;
      letter-spacing: .10em;
      text-transform: uppercase;
      opacity: .92;
    }
    .hero__content h1{
      margin:0 0 12px;
      font-size: clamp(34px, 4.6vw, 62px);
      line-height: 1.05;
      letter-spacing: -0.02em;
    }
    .hero__sub{
      margin:0 0 22px;
      font-size: clamp(16px, 2vw, 20px);
      line-height: 1.5;
      opacity: .95;
      max-width: 560px;
    }

    .hero__ctaRow{
      display:flex;
      gap: 12px;
      flex-wrap: wrap;
      align-items: center;
    }
    .hero__btn{
      display:inline-block;
      padding: 12px 16px;
      border-radius: 14px;
      background:#fff;
      color:#111;
      text-decoration:none;
      font-weight: 650;
      letter-spacing: .01em;
      transition: transform .15s ease, opacity .15s ease;
    }
    .hero__btn:hover{ transform: translateY(-1px); }
    .hero__btn--ghost{
      background: rgba(255,255,255,.0);
      color:#fff;
      border: 1px solid rgba(255,255,255,.5);
    }
    .hero__btn--ghost:hover{ opacity:.95; }

    .hero__controls{
      display:flex;
      align-items:center;
      justify-content: space-between;
      gap: 14px;
    }
    /* Removed per request (keep dots only) */
    .hero__arrow{ display:none; }

    .hero__dots{ display:flex; gap: 8px; align-items:center; justify-content:center; flex: 1; }
    .hero__dot{
      width: 10px;
      height: 10px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.7);
      background: rgba(255,255,255,.18);
      cursor:pointer;
    }
    .hero__dot.is-active{ background: rgba(255,255,255,.95); }

    /* Page content */
    .page{
      max-width: var(--pryzm-max);
      margin: 0 auto;
      padding: 34px 18px;
    }

    /* Responsive */
    @media (max-width: 980px){
      .pryzm-brand__logo{ height: 74px; }
      .pryzm-brand{ min-width: 180px; }
      .hero{ min-height: 500px; }
    }
    @media (max-width: 860px){
      .pryzm-burger{ display:block; }
      .pryzm-nav{
        position: absolute;
        left: 0;
        right: 0;
        /* promo 34 + main ~ (logo+padding). This is a practical approximation. */
        top: calc(34px + 110px);
        background: #fff;
        border-bottom: 1px solid var(--pryzm-hairline);
        box-shadow: 0 14px 28px rgba(0,0,0,.10);
        padding: 12px 18px 18px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
      }
      .pryzm-nav a{ padding: 14px 12px; border-radius: 14px; }
      .pryzm-header.is-open .pryzm-nav{ display:flex; }
      .hero__controls{ justify-content: center; }
    }
    @media (max-width: 420px){
      .pryzm-brand__logo{ height: 62px; }
      .pryzm-promo__inner{ height: 32px; }
      .pryzm-rotator__item{ font-size: 11px; }
    }

    /* Reduced motion: stop rotations + auto sliding */
    @media (prefers-reduced-motion: reduce){
      .pryzm-rotator__item{ display:none; }
      .pryzm-rotator::before{
        content: "Free Shipping – Use Code FREESHIP26 • Handmade in Oregon • Free Single Vision Prescription Lenses";
        font-size: 12px;
        letter-spacing: .08em;
        text-transform: uppercase;
        opacity: .95;
      }
    }

/* Sale price styling */
.p-card__price-old{ text-decoration: line-through; opacity: .65; margin-right:.35rem; }
.p-card__price-new{ font-weight: 800; }
