/* NOLAGA Product Card: one component for every future listing/carousel. */
.nolaga-product-grid { --nolaga-accent:#FF6A2C; --nolaga-display:'Barlow Condensed','Arial Narrow',Impact,sans-serif; --nolaga-surface:#17191D; --nolaga-border:#2A2E34; --nolaga-text:#F7F8FA; --nolaga-muted:#9BA7B9; width:100%; color:var(--nolaga-text); }
.nolaga-product-grid__heading { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:27px; }
.nolaga-product-grid__eyebrow { color:var(--nolaga-accent); display:flex; align-items:center; gap:13px; font:700 14px/1.3 var(--nolaga-display); letter-spacing:.14em; text-transform:uppercase; }
.nolaga-product-grid__eyebrow::before { content:''; width:30px; height:2px; background:var(--nolaga-accent); flex:none; }
.nolaga-product-grid__title { margin:11px 0 0; color:var(--nolaga-text); font:700 clamp(30px,3vw,42px)/1 var(--nolaga-display); text-transform:uppercase; letter-spacing:.025em; }
.nolaga-product-grid__view-all { color:var(--nolaga-accent); font:700 14px/1.35 'Inter',Arial,sans-serif; text-decoration:none; white-space:nowrap; padding-bottom:3px; }
.nolaga-product-grid__view-all:hover { color:#FF945E; }
.nolaga-product-grid__items { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.nolaga-product-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; background:var(--nolaga-surface); border:1px solid var(--nolaga-border); border-radius:7px; color:var(--nolaga-text); transition:border-color .2s ease, transform .2s ease; }
.nolaga-product-card:hover,.nolaga-product-card:focus-within { border-color:var(--nolaga-accent); }
.nolaga-product-card__visual { position:relative; overflow:hidden; background:#0B0D0E; }
.nolaga-product-card__image-link { display:block; aspect-ratio:1/1; background:#111315; overflow:hidden; }
.nolaga-product-card__image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.nolaga-product-card:hover .nolaga-product-card__image { transform:scale(1.035); }
.nolaga-product-card__badge { position:absolute; left:13px; top:13px; z-index:1; padding:8px 12px; background:var(--nolaga-accent); color:#0D0F11; border-radius:6px; font:800 16px/1 var(--nolaga-display); }
.nolaga-product-card__stock { position:absolute; right:12px; top:13px; z-index:1; background:#202328e8; color:#fff; padding:7px 9px; border-radius:4px; font-size:11px; }
.nolaga-product-card__action { position:absolute; bottom:15px; left:15px; right:15px; display:flex; flex-direction:column; gap:5px; opacity:0; transform:translateY(8px); pointer-events:none; transition:opacity .18s ease,transform .18s ease; }
.nolaga-product-card:hover .nolaga-product-card__action,.nolaga-product-card:focus-within .nolaga-product-card__action { opacity:1; transform:translateY(0); pointer-events:auto; }
.nolaga-product-card__action .button,.nolaga-product-card__action a.button { display:flex; justify-content:center; align-items:center; text-align:center; background:#121417e8; border:1px solid var(--nolaga-accent); border-radius:5px; color:var(--nolaga-accent); text-decoration:none; text-transform:uppercase; font:700 17px/1.2 var(--nolaga-display); padding:13px 12px; min-height:45px; width:100%; margin:0; }
.nolaga-product-card__action .button:hover,.nolaga-product-card__action a.button:hover { background:var(--nolaga-accent); color:#111; }
.nolaga-product-card__action .added_to_cart { display:block; text-align:center; background:#17191d; color:#fff; padding:6px; font:600 12px/1.4 'Inter',sans-serif; }
.nolaga-product-card__info { padding:17px 18px 19px; flex:1; display:flex; flex-direction:column; }
.nolaga-product-card__title { color:var(--nolaga-text); font:700 clamp(19px,1.6vw,23px)/1.14 var(--nolaga-display); margin:0 0 6px; letter-spacing:.01em; overflow-wrap:anywhere; }
.nolaga-product-card__title a { color:inherit; text-decoration:none; }
.nolaga-product-card__title a:hover { color:var(--nolaga-accent); }
.nolaga-product-card__subtitle { color:var(--nolaga-muted); font:400 13px/1.6 'Inter',Arial,sans-serif; min-height:2.5em; margin:0 0 18px; }
.nolaga-product-card__price { margin-top:auto; color:#fff; font:700 26px/1.2 var(--nolaga-display); }
.nolaga-product-card__price .amount { color:#fff; }
.nolaga-product-card__price del { color:#7E8897; font-size:.66em; font-weight:400; text-decoration:line-through; margin-left:7px; }
.nolaga-product-card__price del .amount { color:#7E8897; }
.nolaga-product-card__price ins { text-decoration:none; }
.nolaga-product-card__price .woocommerce-price-suffix { font-family:'Inter',sans-serif; font-size:11px; }
.nolaga-product-grid__empty { grid-column:1/-1; margin:0; padding:36px; color:var(--nolaga-muted); background:var(--nolaga-surface); border:1px solid var(--nolaga-border); border-radius:6px; }
@media (max-width:1024px) {
 .nolaga-product-grid__items { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .nolaga-product-card__action { opacity:1; pointer-events:auto; transform:none; }
 .nolaga-product-card__action .button,.nolaga-product-card__action a.button { background:#121417; }
 .nolaga-product-card__info { order:1; }
 .nolaga-product-card__visual { overflow:visible; }
 .nolaga-product-card__action { position:absolute; bottom:0; left:0; right:0; padding:10px; background:linear-gradient(0deg,#0B0D0FCC,transparent); }
}
@media (max-width:767px) {
 .nolaga-product-grid__heading { align-items:flex-start; gap:12px; }
 .nolaga-product-grid__eyebrow { font-size:12px; }
 .nolaga-product-grid__eyebrow::before { width:20px; }
 .nolaga-product-grid__title { font-size:31px; }
 .nolaga-product-grid__view-all { font-size:12px; align-self:flex-end; }
 .nolaga-product-grid__items { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .nolaga-product-card__badge { left:8px; top:8px; font-size:13px; padding:6px 8px; }
 .nolaga-product-card__info { padding:12px 11px 13px; }
 .nolaga-product-card__title { font-size:18px; }
 .nolaga-product-card__subtitle { font-size:11px; min-height:2.7em; margin-bottom:11px; }
 .nolaga-product-card__price { font-size:23px; }
 .nolaga-product-card__action { position:static; background:transparent; padding:0 10px 10px; }
 .nolaga-product-card__action .button,.nolaga-product-card__action a.button { font-size:14px; min-height:38px; padding:9px 7px; }
 .nolaga-product-card__action .added_to_cart { font-size:10px; }
}
@media (max-width:360px) { .nolaga-product-grid__items { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .nolaga-product-card,.nolaga-product-card__image,.nolaga-product-card__action { transition:none; } }

/* NOLAGA Product Catalog v0.2.0 — same product card as all promotional grids. */
.nolaga-catalog { --nolaga-accent:#FF6A2C; --nolaga-text:#F7F8FA; --nolaga-muted:#9BA7B9; --nolaga-surface:#17191D; --nolaga-border:#2A2E34; width:100%; min-width:0; color:var(--nolaga-text); }
.nolaga-catalog__intro { display:flex; justify-content:space-between; align-items:end; gap:25px; margin-bottom:35px; }
.nolaga-catalog__eyebrow { display:block; font:700 15px/1.3 'Barlow Condensed','Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:.14em; color:var(--nolaga-accent); margin-bottom:10px; }
.nolaga-catalog__title { margin:0; font:700 clamp(37px,3.3vw,56px)/1.02 'Barlow Condensed','Arial Narrow',sans-serif; text-transform:uppercase; }
.nolaga-catalog__subtitle { color:var(--nolaga-muted); font-size:13px; max-width:340px; margin:0 0 3px; text-align:right; }
.nolaga-catalog__layout { display:grid; grid-template-columns:minmax(215px,260px) minmax(0,1fr); align-items:start; gap:clamp(20px,2.4vw,36px); }
.nolaga-catalog__sidebar { min-width:0; }
.nolaga-catalog__desktop-filters { border:1px solid var(--nolaga-border); background:#141619; padding:22px; }
.nolaga-catalog__mobile-filters { display:none; }
.nolaga-catalog__filter-group { border-bottom:1px solid var(--nolaga-border); padding:0 0 23px; margin:0 0 24px; }
.nolaga-catalog__filter-group h2 { font:700 20px/1.15 'Barlow Condensed','Arial Narrow',sans-serif; text-transform:uppercase; letter-spacing:.035em; color:#F7F8FA; margin:0 0 17px; }
.nolaga-catalog__all-categories { display:block; font-size:12px; font-weight:600; color:var(--nolaga-muted); margin-bottom:8px; }
.nolaga-catalog__all-categories.is-active,.nolaga-catalog__categories a.is-active,.nolaga-catalog__all-categories:hover { color:var(--nolaga-accent); }
.nolaga-catalog__categories { padding:0; margin:0; list-style:none; }
.nolaga-catalog__categories.is-nested { padding-left:14px; border-left:1px solid #31353B; margin-left:5px; }
.nolaga-catalog__categories li { margin:0; }
.nolaga-catalog__categories a { display:flex; justify-content:space-between; align-items:baseline; gap:8px; font:500 12px/1.5 'Inter',Arial,sans-serif; color:#B9C2CD; padding:6px 0; text-decoration:none; }
.nolaga-catalog__categories a:hover { color:var(--nolaga-accent); }
.nolaga-catalog__cat-count { flex:none; color:#748090; font-size:11px; }
.nolaga-catalog__prices { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.nolaga-catalog__prices label { min-width:0; color:#9BA7B9; font-size:11px; display:block; }
.nolaga-catalog__prices label span { display:block; margin-bottom:6px; }
.nolaga-catalog__prices input { display:block; min-width:0; width:100%; height:41px; padding:10px 9px; border:1px solid #353A42; border-radius:0; background:#0D0F11; color:#fff; font-size:12px; }
.nolaga-catalog__prices input:focus { outline:1px solid var(--nolaga-accent); }
.nolaga-catalog__checkbox { display:flex; gap:10px; align-items:center; cursor:pointer; margin-bottom:12px; color:#BBC4CE; font-size:12px; }
.nolaga-catalog__checkbox input { width:17px; height:17px; flex:none; accent-color:var(--nolaga-accent); }
.nolaga-catalog__apply { display:block; width:100%; min-height:44px; padding:11px 14px; border:1px solid var(--nolaga-accent); background:var(--nolaga-accent); color:#101113; border-radius:0; text-transform:uppercase; font:700 17px/1.2 'Barlow Condensed','Arial Narrow',sans-serif; cursor:pointer; }
.nolaga-catalog__apply:hover { background:#FF8752; }
.nolaga-catalog__clear { display:block; width:100%; text-align:center; margin-top:12px; color:#9BA7B9; text-decoration:none; font-size:12px; }
.nolaga-catalog__clear:hover { color:var(--nolaga-accent); }
.nolaga-catalog__results { min-width:0; }
.nolaga-catalog__toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:19px; min-height:43px; }
.nolaga-catalog__count { font-size:12px; color:var(--nolaga-muted); margin:0; }
.nolaga-catalog__sort-form { display:flex; align-items:center; gap:10px; }
.nolaga-catalog__sort-form label { color:var(--nolaga-muted); font-size:12px; }
.nolaga-catalog__sort-select { appearance:auto; background:#17191D; border:1px solid #32363D; border-radius:0; min-width:165px; height:42px; padding:8px 12px; color:#F7F8FA; font-size:12px; }
.nolaga-catalog__sort-select option { background:#17191D; color:#fff; }
.nolaga-catalog__sort-form .nolaga-catalog__apply { display:inline-block; width:auto; min-height:40px; }
.nolaga-catalog__product-grid .nolaga-product-grid__items { grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; }
.nolaga-catalog__no-products { grid-column:1/-1; padding:45px 30px; border:1px solid #33383F; background:#17191D; }
.nolaga-catalog__no-products h2 { font-size:29px; }
.nolaga-catalog__no-products p { color:var(--nolaga-muted); }
.nolaga-catalog__no-products a { color:var(--nolaga-accent); text-decoration:underline; }
.nolaga-catalog__pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin-top:43px; }
.nolaga-catalog__pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:40px; height:42px; padding:0 10px; background:#17191D; border:1px solid #30343B; color:#F7F8FA; font-size:12px; text-decoration:none; }
.nolaga-catalog__pagination .page-numbers.current,.nolaga-catalog__pagination a.page-numbers:hover { border-color:var(--nolaga-accent); background:var(--nolaga-accent); color:#101113; }
.nolaga-catalog__pagination .page-numbers.dots { border:0; background:transparent; }
/* No rounded-card UI for product catalog. Product Grid retains its v0.1 styling. */
.nolaga-catalog .nolaga-product-card { border-radius:0; }
.nolaga-catalog .nolaga-product-card__badge,.nolaga-catalog .nolaga-product-card__action .button { border-radius:0; }
@media(max-width:1100px) { .nolaga-catalog__layout { grid-template-columns:215px minmax(0,1fr); } .nolaga-catalog__product-grid .nolaga-product-grid__items { grid-template-columns:repeat(2,minmax(0,1fr)); } .nolaga-catalog__desktop-filters { padding:17px; } }
@media(max-width:760px) {
 .nolaga-catalog__intro { display:block; margin-bottom:24px; }
 .nolaga-catalog__subtitle { max-width:none; text-align:left; margin:12px 0 0; }
 .nolaga-catalog__layout { display:block; }
 .nolaga-catalog__desktop-filters { display:none; }
 .nolaga-catalog__mobile-filters { display:block; border:1px solid #343941; background:#17191D; margin-bottom:22px; }
 .nolaga-catalog__mobile-filters summary { display:flex; justify-content:space-between; list-style:none; cursor:pointer; padding:14px 16px; color:#F7F8FA; font:700 18px/1.2 'Barlow Condensed','Arial Narrow',sans-serif; text-transform:uppercase; }
 .nolaga-catalog__mobile-filters summary::-webkit-details-marker { display:none; }
 .nolaga-catalog__mobile-filters[open] summary span { transform:rotate(45deg); }
 .nolaga-catalog__filter-content { border-top:1px solid #343941; padding:20px; }
 .nolaga-catalog__toolbar { flex-wrap:wrap; }
 .nolaga-catalog__product-grid .nolaga-product-grid__items { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
}
@media(max-width:520px) {
 .nolaga-catalog__product-grid .nolaga-product-grid__items { grid-template-columns:1fr; }
 .nolaga-catalog__sort-form label { display:none; }
 .nolaga-catalog__sort-select { min-width:148px; }
 .nolaga-catalog__toolbar { gap:10px; }
 .nolaga-catalog__pagination .page-numbers { min-width:34px; }
}

/* NOLAGA v0.2.1: global title clamp on the shared Product Card. */
.nolaga-product-card__title a { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:var(--nolaga-title-lines,3); overflow:hidden; }
.nolaga-product-card__title { min-height:calc(var(--nolaga-title-lines,3) * 1.14em); }
/* Controlled category tree: names remain links; chevron only expands. */
.nolaga-catalog [hidden] { display:none!important; }
.nolaga-catalog__cat-row { display:flex; align-items:center; gap:2px; }
.nolaga-catalog__cat-row>a { flex:1; min-width:0; }
.nolaga-catalog__cat-toggle { align-self:center; display:flex; align-items:center; justify-content:center; flex:none; width:30px; height:30px; background:transparent; border:1px solid transparent; color:#AEB9C6; padding:0; cursor:pointer; font:700 24px/1 'Inter',sans-serif; }
.nolaga-catalog__cat-toggle span { display:inline-block; transition:transform .16s ease; transform:rotate(-90deg); }
.nolaga-catalog__cat-toggle[aria-expanded="true"] span { transform:rotate(0deg); }
.nolaga-catalog__cat-toggle:hover,.nolaga-catalog__cat-toggle:focus-visible { border-color:var(--nolaga-accent); color:var(--nolaga-accent); outline:none; }
.nolaga-catalog__cat-children { padding-left:11px; }
.nolaga-catalog__facet-group { padding-bottom:17px; margin-bottom:18px; }
.nolaga-catalog__facet summary { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; font:700 20px/1.15 'Barlow Condensed','Arial Narrow',sans-serif; letter-spacing:.035em; text-transform:uppercase; color:#F7F8FA; }
.nolaga-catalog__facet summary::-webkit-details-marker { display:none; }
.nolaga-catalog__facet summary span { font:700 22px/1 'Inter',sans-serif; transform:rotate(-90deg); }
.nolaga-catalog__facet[open] summary span { transform:rotate(0deg); }
.nolaga-catalog__facet-options { margin-top:15px; }
.nolaga-catalog__facet-option { overflow-wrap:anywhere; }
.nolaga-catalog__facet-more { display:block; padding:8px 0; margin-top:6px; border:0; background:transparent; color:var(--nolaga-accent); cursor:pointer; font:600 12px/1.4 'Inter',sans-serif; }
.nolaga-catalog__facet-more:hover { color:#FFA070; }
@media(prefers-reduced-motion:reduce) { .nolaga-catalog__cat-toggle span { transition:none; } }


/* NOLAGA v0.2.2 — enforce branded CTA inside the shared product card.
 * WooCommerce/Elementor may load default .button rules after our widgets.css.
 * Keep overrides strictly inside NOLAGA cards; never change checkout buttons. */
.nolaga-product-grid .nolaga-product-card .nolaga-product-card__action a.button,
.nolaga-product-grid .nolaga-product-card .nolaga-product-card__action button.button {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  min-height:45px;
  margin:0;
  padding:13px 12px;
  border:1px solid var(--nolaga-accent, #FF6A2C) !important;
  border-radius:0;
  background:#121417 !important;
  background-image:none !important;
  box-shadow:none !important;
  color:var(--nolaga-accent, #FF6A2C) !important;
  text-align:center;
  text-decoration:none;
  text-transform:uppercase;
  font:700 17px/1.2 var(--nolaga-display, 'Barlow Condensed', 'Arial Narrow', Impact, sans-serif);
  transition:background-color .18s ease, color .18s ease, border-color .18s ease;
}
.nolaga-product-grid .nolaga-product-card .nolaga-product-card__action a.button:hover,
.nolaga-product-grid .nolaga-product-card .nolaga-product-card__action a.button:focus-visible,
.nolaga-product-grid .nolaga-product-card .nolaga-product-card__action button.button:hover,
.nolaga-product-grid .nolaga-product-card .nolaga-product-card__action button.button:focus-visible {
  background:var(--nolaga-accent, #FF6A2C) !important;
  border-color:var(--nolaga-accent, #FF6A2C) !important;
  color:#101113 !important;
}
.nolaga-product-grid .nolaga-product-card .nolaga-product-card__action a.button:focus-visible,
.nolaga-product-grid .nolaga-product-card .nolaga-product-card__action button.button:focus-visible {
  outline:2px solid #FFF;
  outline-offset:2px;
}
@media (max-width:767px) {
  .nolaga-product-grid .nolaga-product-card .nolaga-product-card__action a.button,
  .nolaga-product-grid .nolaga-product-card .nolaga-product-card__action button.button {
    min-height:38px;
    padding:9px 7px;
    font-size:14px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .nolaga-product-grid .nolaga-product-card .nolaga-product-card__action a.button,
  .nolaga-product-grid .nolaga-product-card .nolaga-product-card__action button.button {
    transition:none;
  }
}

/* v0.3.3 / standalone Product Grid uses the shared home-section width.
 * Nested grids in catalog and on product pages remain untouched. */
.nolaga-product-grid.nl-home-frame {
  width: min(var(--nl-section-width, 1140px), calc(100vw - var(--nl-section-gutter, 20px) - var(--nl-section-gutter, 20px)));
  max-width:none;
}
.nolaga-product-grid__title { font-size:clamp(30px,2.55vw,36px); }
@media(max-width:767px) { .nolaga-product-grid__title { font-size:30px; } }

/* Price color inherits the Elementor typography color control. */
.nolaga-product-card__price .amount { color:inherit; }
