/* Navegación compartida de la home y la tienda. La cabecera mantiene una
   jerarquía simple: marca, enlaces principales y acciones. */
.site-header,.store-header{gap:28px!important;position:relative;z-index:20}
.site-logo{display:flex;flex:0 0 auto;height:66px;align-items:center;line-height:0}
.site-logo img{display:block;width:auto;max-width:170px;height:100%;object-fit:contain;filter:brightness(0);opacity:.94;transition:opacity .2s ease}
.site-logo:hover img{opacity:.72}
.site-header nav,.store-header nav{align-items:center;display:flex;flex:1;gap:28px;height:100%;justify-content:flex-end!important;min-width:0;position:static}
.site-header nav>a,.store-header nav>a,.nav-dropdown summary{color:var(--ink);font-size:11px;letter-spacing:.01em;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.site-header nav>a,.store-header nav>a{transition:color .2s ease}
.site-header nav>a:hover,.store-header nav>a:hover{color:var(--accent)}
.nav-dropdown{align-items:center;align-self:stretch;color:var(--ink);display:flex;height:100%;min-height:100%;position:relative}
.nav-dropdown summary{align-items:center;cursor:pointer;display:flex;height:100%;list-style:none}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary:after{border-bottom:1px solid currentColor;border-right:1px solid currentColor;content:'';display:inline-block;height:5px;margin:0 0 3px 7px;transform:rotate(45deg);transition:transform .2s ease;width:5px}
.nav-dropdown[open] summary{color:var(--accent)}
.nav-dropdown[open] summary:after{margin-bottom:-2px;transform:rotate(225deg)}
.nav-dropdown__menu{background:#fff;border:1px solid var(--line);border-top:2px solid var(--accent);box-shadow:none;display:grid;gap:0;left:-12px;min-width:190px;padding:7px 0;position:absolute;right:auto;top:calc(100% - 1px);transform:none;z-index:30}
.nav-dropdown:not([open]) .nav-dropdown__menu{display:none}
.nav-dropdown__menu a{color:var(--ink);font-size:10px!important;letter-spacing:.02em;padding:12px 16px!important;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.nav-dropdown__menu a:hover{background:var(--paper);color:var(--accent)!important}
.header-actions,.store-actions{align-items:center;display:flex;flex:none;gap:15px}
.header-actions a,.store-actions a{color:inherit;text-decoration:none}
.header-actions a:hover,.store-actions a:hover{opacity:.6}
.mobile-nav-toggle{align-items:center;background:transparent;border:0;color:var(--ink);cursor:pointer;display:none;flex:none;height:30px;justify-content:center;padding:5px;width:30px}
.mobile-nav-toggle span{background:currentColor;display:block;height:1px;margin:2px 0;transition:transform .2s ease,opacity .2s ease;width:18px}
.site-header.is-menu-open .mobile-nav-toggle span:nth-child(1),.store-header.is-menu-open .mobile-nav-toggle span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.site-header.is-menu-open .mobile-nav-toggle span:nth-child(2),.store-header.is-menu-open .mobile-nav-toggle span:nth-child(2){opacity:0}
.site-header.is-menu-open .mobile-nav-toggle span:nth-child(3),.store-header.is-menu-open .mobile-nav-toggle span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}

@media (max-width:1000px) and (min-width:821px){
  .site-header,.store-header{gap:18px!important}
  .site-header nav,.store-header nav{gap:16px!important}
  .site-header nav>a,.store-header nav>a,.nav-dropdown summary{font-size:10px}
}

@media (max-width:820px){
  .site-header,.store-header{align-items:center;display:flex!important;flex-direction:row!important;gap:10px!important;height:70px;min-height:70px;padding:0 18px}
  .site-logo{height:52px}
  .site-logo img{max-width:132px}
  .brand,.store-brand{font-size:22px;line-height:1;min-width:0}
  .brand small,.store-brand small{font-size:7px;margin-top:5px;overflow:hidden;letter-spacing:.06em;white-space:nowrap}
  .mobile-nav-toggle{display:inline-flex;margin-left:auto}
  .header-actions,.store-actions{display:flex!important;gap:13px;font-size:20px;margin-left:0;max-width:none;width:auto}
  .site-header nav,.store-header nav{align-items:stretch;background:#fff;border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:none;flex-direction:column;gap:0!important;height:auto;justify-content:flex-start!important;left:0;padding:8px 18px 14px;position:absolute;right:0;top:100%;z-index:40}
  .site-header.is-menu-open nav,.store-header.is-menu-open nav{display:flex!important}
  .site-header nav>a,.store-header nav>a,.nav-dropdown summary{font-size:11px}
  .site-header nav>a,.store-header nav>a{border-bottom:1px solid rgba(217,210,200,.7);padding:13px 0}
  .site-header nav>a:last-child,.store-header nav>a:last-child{border-bottom:0}
  .nav-dropdown{align-items:stretch;display:block;height:auto;min-height:0}
  .nav-dropdown summary{height:auto;justify-content:space-between;padding:13px 0}
  .nav-dropdown__menu{border:0;border-top:1px solid var(--line);box-shadow:none;display:grid;gap:0;left:auto;min-width:0;padding:2px 0 4px;position:static;right:auto;top:auto}
  .nav-dropdown__menu a{border-bottom:1px solid rgba(217,210,200,.55);font-size:10px!important;padding:10px 12px!important}
  .nav-dropdown__menu a:last-child{border-bottom:0}
}

/* Franja de servicios de la nueva referencia de tienda. */
.store-service-topbar {
  align-items: center;
  background: #eee8df;
  color: #665d53;
  display: flex;
  font-size: 10px;
  justify-content: space-around;
  letter-spacing: .04em;
  min-height: 34px;
  padding: 7px clamp(18px, 5vw, 72px);
  text-transform: none;
}

.store-service-topbar span,
.store-service-topbar a {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  text-decoration: none;
}

.store-service-topbar span::before,
.store-service-topbar a::before {
  color: #98724f;
  content: "—";
  font-size: 13px;
}

.store-service-topbar a {
  color: inherit;
}

.store-service-topbar a:hover {
  color: #28241f;
}

@media (max-width: 620px) {
  .store-service-topbar {
    gap: 12px;
    justify-content: space-between;
    min-height: 29px;
    padding: 6px 16px;
  }

  .store-service-topbar span,
  .store-service-topbar a {
    font-size: 8px;
    gap: 4px;
    letter-spacing: .02em;
    white-space: nowrap;
  }

  .store-service-topbar span::before,
  .store-service-topbar a::before {
    content: "";
  }

  .store-service-topbar span:nth-child(2) {
    display: none;
  }
}

@media (max-width: 820px) {
  .mobile-nav-toggle {
    flex-direction: column;
  }
}

/* Cabecera de catálogo inspirada en la referencia de producto: una franja
   informativa breve y una navegación estable que acompaña el listado. */
.anaduran-shop-catalog .store-notice-bar {
  align-items: center;
  background: #28241f;
  color: #f8f6f1;
  display: flex;
  font-size: 11px;
  justify-content: center;
  letter-spacing: .03em;
  line-height: 1.3;
  min-height: 36px;
  padding: 8px 18px;
  text-align: center;
}

.anaduran-shop-catalog .store-notice-bar a {
  color: inherit;
  margin-left: 5px;
  text-underline-offset: 3px;
}

.anaduran-shop-catalog .store-notice-bar a:hover {
  color: #d8b996;
}

.anaduran-shop-catalog .store-header {
  background: #eee8df;
  position: sticky;
  top: 0;
  z-index: 50;
}

@media (max-width: 620px) {
  .anaduran-shop-catalog .store-notice-bar {
    font-size: 9px;
    min-height: 31px;
    padding: 7px 12px;
  }

  .anaduran-shop-catalog .store-header {
    background: #f8f6f1;
  }
}

/* Favoritos --------------------------------------------------------------
   Se guardan en el navegador para que la selección acompañe al visitante
   mientras cambia de familia, producto o página. */
body.anaduran-store-page .store-actions button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  line-height: 1;
}

body.anaduran-store-page .store-actions button:hover {
  color: var(--store-accent, #98724f);
}

.store-favorites-trigger .anaduran-icon {
  width: 19px;
  height: 19px;
}

.anaduran-favorites-count {
  position: absolute;
  top: -9px;
  right: -9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 15px;
  height: 15px;
  padding: 0 3px;
  border-radius: 50%;
  background: #28241f;
  color: #fff;
  font-size: 8px;
  line-height: 1;
  opacity: 0;
  transform: scale(.8);
  transition: opacity .2s ease, transform .2s ease;
}

.anaduran-favorites-count.is-filled {
  opacity: 1;
  transform: scale(1);
}

.store-favorites-scrim {
  position: fixed;
  z-index: 90;
  inset: 0;
  background: rgba(40, 36, 31, .28);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}

.store-favorites-scrim.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.store-favorites-panel {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  width: min(410px, calc(100vw - 18px));
  height: 100dvh;
  padding: 30px clamp(20px, 4vw, 32px) 24px;
  background: #f8f6f1;
  box-shadow: -15px 0 36px rgba(40, 36, 31, .12);
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.2, .7, .2, 1);
}

.store-favorites-panel.is-open {
  transform: translateX(0);
}

.store-favorites-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line, #d9d2c8);
}

.store-favorites-eyebrow {
  margin: 0 0 7px;
  color: #98724f;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .16em;
}

.store-favorites-panel h2 {
  margin: 0;
  color: #28241f;
  font: 400 30px/1 "Playfair Display", serif;
}

.store-favorites-close {
  width: 32px;
  height: 32px;
  font-size: 27px !important;
  font-weight: 300;
}

.store-favorites-list {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 20px 1px;
}

.store-favorites-empty {
  max-width: 280px;
  margin: 10px 0;
  color: #6f6961;
  font-size: 13px;
  line-height: 1.6;
}

.store-favorite-item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 0 0 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--line, #d9d2c8);
}

.store-favorite-item-image {
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  background: #eee8df;
}

.store-favorite-item-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.store-favorite-item-body {
  position: relative;
  min-width: 0;
}

.store-favorite-item-name {
  color: #28241f;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
}

.store-favorite-item-name:hover {
  color: #98724f;
}

.store-favorite-item-action {
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  margin-top: 10px;
  padding: 0 10px;
  border: 1px solid #b9a28b;
  background: transparent;
  color: #765c43;
  font-size: 9px;
  letter-spacing: .04em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}

.store-favorite-item-action:hover {
  border-color: #28241f;
  background: #28241f;
  color: #f8f6f1;
}

.store-favorite-item-action:disabled {
  cursor: wait;
  opacity: .55;
}

body.favorites-panel-is-open {
  overflow: hidden;
}

.catalog-card-favorite.is-favorite {
  color: #98724f;
}

.catalog-card-favorite.is-favorite .anaduran-icon {
  fill: currentColor;
}

@media (max-width: 820px) {
  body.anaduran-store-page .store-actions {
    grid-template-columns: repeat(4, 30px);
    width: 120px;
    max-width: 120px;
  }

  body.anaduran-store-page .store-actions a,
  body.anaduran-store-page .store-actions button {
    width: 30px;
    height: 44px;
  }

  .store-favorites-panel {
    width: min(390px, calc(100vw - 12px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .store-favorites-panel,
  .store-favorites-scrim,
  .anaduran-favorites-count {
    transition: none;
  }
}
