/* Catálogo / detalle / admin auth (base) */
.catalog-header{padding:4rem 0 2rem;background:#f8edef}
.catalog-header h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,4.5rem)}
.catalog-search{display:flex;max-width:540px;border:1px solid var(--line);background:#fff}
.catalog-search input{border:0;outline:0;min-width:0;flex:1;padding:12px 14px;font-family:var(--sans)}
.catalog-search button{border:0;background:var(--wine);color:#fff;padding:0 18px;font:600 .7rem var(--sans);text-transform:uppercase}
.product-detail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:70px;padding:70px 20px 100px}
.product-gallery>img{width:100%;height:min(65vh,570px);object-fit:cover}
.thumbnail-row{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.thumbnail-row img{width:75px;height:75px;object-fit:cover}
.detail-copy h1{font:clamp(2.6rem,4vw,4.5rem)/1 var(--serif);margin:0}
.detail-price{color:var(--wine);font-weight:700;margin:18px 0}
.detail-description{color:var(--muted);line-height:1.8}
.product-form{display:grid;gap:10px;margin-top:27px}
.product-form label{font-size:.75rem;font-weight:600}
.product-form select,.product-form textarea{width:100%;border:1px solid var(--line);padding:12px;font:inherit;outline-color:var(--rose-deep)}
.product-form textarea{min-height:80px}
.product-add-button{border:0;margin-top:6px}
.admin-login{min-height:65vh;display:grid;place-items:center;padding:40px 20px;background:#f8edef}
.admin-login form{width:min(420px,100%);background:#fff;padding:35px;box-shadow:0 10px 35px #362a2d1c}
.admin-login h1{font:2.4rem var(--serif);margin-bottom:24px}
.admin-login label,.admin-login input{display:block;width:100%}
.admin-login label{font-size:.75rem;margin:13px 0 5px}
.admin-login input{border:1px solid var(--line);padding:11px;margin-bottom:6px}
.admin-login button{width:100%;border:0;margin-top:16px}
.admin-panel{padding:60px 20px 100px}
.admin-panel h1{font:3rem var(--serif)}
.admin-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:30px 0}
.admin-metrics article,.admin-shortcuts{background:#fff;border:1px solid var(--line);padding:22px}
.admin-metrics span,.admin-metrics a{display:block;font-size:.7rem;color:var(--muted)}
.admin-metrics strong{display:block;font:3rem var(--serif);color:var(--wine)}
.admin-metrics a{color:var(--wine)}
.admin-shortcuts{display:flex;gap:20px;align-items:center}
.admin-shortcuts h2{font:1.6rem var(--serif);margin:0}
.admin-shortcuts a{font-size:.75rem;color:var(--wine)}

/* Menú hamburguesa visible (Bootstrap sin navbar-light lo deja invisible) */
.navbar-toggler{
  border:1px solid var(--wine)!important;
  border-radius:4px;
  padding:.45rem .55rem!important;
  color:var(--wine);
}
.navbar-toggler:focus{box-shadow:0 0 0 .15rem rgba(129,63,80,.25)}
.navbar-toggler-icon{
  display:inline-block;
  width:1.35rem;
  height:1.35rem;
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23813f50' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")!important;
  background-repeat:no-repeat;
  background-position:center;
  background-size:100%;
}

html,body{max-width:100%;overflow-x:hidden}
img,video,iframe{max-width:100%;height:auto}
.container{max-width:100%}

@media (max-width: 991.98px){
  .navbar-header .container{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:10px 14px;
  }
  .navbar-brand{max-width:calc(100% - 56px)}
  .site-logo{height:42px;max-width:150px}
  .navbar-header .navbar-collapse{
    flex-basis:100%;
    width:100%;
    background:#fffafa;
    border-top:1px solid var(--line);
    margin-top:8px;
    padding:8px 0 12px;
  }
  .navbar-nav{width:100%;gap:0}
  .nav-link,.navbar-nav .nav-link{
    padding:12px 8px!important;
    text-align:left;
    margin:0!important;
    border-bottom:1px solid #f0e5e7;
  }
  .cart-button{display:block;width:100%;margin-top:8px;text-align:center}
  .dropdown-menu{border:0;box-shadow:none;background:#fcf5f7;padding:0 0 8px}
}

@media (max-width: 768px){
  .top-promo{font-size:.61rem;padding:8px 10px;line-height:1.35}
  .hero{
    min-height:0;
    grid-template-columns:1fr;
    padding:28px 16px 24px;
    gap:24px;
  }
  .hero h1{font-size:clamp(2.1rem,9vw,2.85rem);max-width:none}
  .hero-description{font-size:.92rem;margin:16px 0 22px}
  .hero-actions{flex-direction:column;align-items:stretch;gap:14px}
  .btn-primary-store,.btn-secondary-store{text-align:center;width:100%}
  .btn-secondary-store{padding-bottom:8px}
  .hero-art{height:260px;margin:0 auto;width:100%;max-width:360px}
  .hero-art img{width:78%;height:100%;right:4%}
  .hero-circle{width:180px;height:180px}
  .hero-note{left:4%;right:4%;bottom:8px;padding:10px 12px}
  .trust-strip{display:grid;grid-template-columns:1fr;padding:0;gap:0}
  .trust-strip>div{
    min-width:0!important;
    width:100%;
    padding:14px 16px;
    border:0;
    border-bottom:1px solid #d9adb9;
  }
  .search-section{padding:28px 16px}
  .search-section form{flex-wrap:wrap;gap:10px}
  .search-section input{width:100%;flex:1 1 100%}
  .search-section button{width:100%;text-align:right;padding:8px 0}
  .store-section{padding:24px 16px 48px}
  .section-heading{flex-direction:column;align-items:flex-start;gap:10px}
  .section-heading.centered{align-items:center;text-align:center}
  .section-heading h2{font-size:clamp(1.7rem,7vw,2.2rem)}
  .products-grid,.three-columns,.categories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .product-info{padding:10px}
  .product-info h3{font-size:1rem}
  .product-bottom{flex-wrap:wrap;gap:8px}
  .categories-section{padding:40px 0}
  .category-card{min-height:0;padding:16px 12px}
  .category-card h3{font-size:1.25rem}
  .story-section{grid-template-columns:1fr;padding:24px 16px 56px;gap:28px}
  .story-image{height:240px}
  .footer-content{grid-template-columns:1fr;gap:22px;padding:0 16px 28px}
  .footer-content>div:first-child{grid-column:auto}
  .whatsapp-button{bottom:12px;right:12px}
  .whatsapp-button span{display:none}
  .product-detail{grid-template-columns:1fr;gap:24px;padding:24px 16px 56px}
  .product-gallery>img{height:min(55vw,320px)}
  .detail-copy h1{font-size:clamp(1.9rem,8vw,2.6rem)}
  .catalog-header{padding:2.2rem 16px 1.2rem}
  .catalog-search{width:100%;max-width:none}
  .admin-metrics{grid-template-columns:repeat(2,1fr)}
  .admin-shortcuts{display:grid;grid-template-columns:1fr 1fr}
  .admin-shortcuts h2{grid-column:span 2}
}

@media (max-width: 430px){
  .products-grid,.categories-grid,.three-columns{grid-template-columns:1fr}
  .hero-art{height:220px}
  .admin-metrics{grid-template-columns:1fr}
  .site-logo{height:36px;max-width:130px}
}
