/* KRAFTEAS — Carrito de cotización (botón header, panel lateral, aviso) */
.kf-cart-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 16px; font-size:14px; font-weight:600;
  border:1.5px solid var(--wine,#4C1F45); color:#fff;
  background:var(--wine,#4C1F45); border-radius:2px; cursor:pointer;
  font-family:'DM Sans',sans-serif; white-space:nowrap;
  transition:background .15s, color .15s;
}
.kf-cart-btn:hover{background:var(--wine-deep,#3A1735); border-color:var(--wine-deep,#3A1735);}
.kf-cart-btn svg{flex-shrink:0;}
.kf-count{
  min-width:20px; height:20px; padding:0 6px; border-radius:10px;
  background:var(--pastel,#C7B0E8); color:var(--wine-deep,#3A1735);
  font-size:11.5px; font-weight:700; line-height:20px; text-align:center;
}
.kf-count[hidden]{display:none;}

.kf-lock{overflow:hidden;}
.kf-backdrop{
  position:fixed; inset:0; z-index:90;
  background:rgba(33,26,30,0.45);
  animation:kfFade .2s ease;
}
.kf-backdrop[hidden]{display:none;}
@keyframes kfFade{from{opacity:0}to{opacity:1}}

.kf-drawer{
  position:fixed; top:0; right:0; bottom:0; z-index:100;
  width:min(440px, 100vw);
  background:var(--beige,#F4E8DA); color:var(--ink,#211A1E);
  display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .28s ease;
  box-shadow:-20px 0 50px rgba(33,26,30,0.25);
  font-family:'DM Sans',sans-serif;
}
.kf-drawer.open{transform:translateX(0);}
.kf-drawer-head{
  display:flex; justify-content:space-between; align-items:flex-start;
  padding:26px 24px 18px; border-bottom:1.5px dashed rgba(33,26,30,0.2);
}
.kf-eyebrow{font-size:11px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--wine,#4C1F45);}
.kf-drawer-head h2{
  font-family:'Archivo',sans-serif; font-stretch:condensed; font-weight:300;
  font-size:30px; color:var(--wine-deep,#3A1735); margin-top:4px; line-height:1.05;
}
.kf-drawer-close{background:none; border:none; font-size:20px; cursor:pointer; color:var(--wine,#4C1F45); padding:6px 8px;}
.kf-drawer-body{flex:1; overflow-y:auto; padding:8px 24px;}
.kf-drawer-foot{padding:18px 24px 24px; border-top:1.5px dashed rgba(33,26,30,0.2); display:flex; flex-direction:column; gap:10px;}
.kf-drawer-foot[hidden]{display:none;}
.kf-foot-note{font-size:12.5px; opacity:0.65; line-height:1.45;}
.kf-archivo{display:flex; gap:8px; align-items:flex-start; font-size:13px; line-height:1.4; cursor:pointer; margin-bottom:4px;}
.kf-archivo input{margin-top:2px; accent-color:var(--wine,#4C1F45); width:16px; height:16px; flex-shrink:0;}

.kf-item{
  display:grid; grid-template-columns:64px 1fr 28px; gap:14px;
  padding:16px 0; border-bottom:1px solid rgba(33,26,30,0.1);
}
.kf-item-img{width:64px; height:64px; background:#fff; overflow:hidden; display:flex; align-items:center; justify-content:center; color:var(--pastel,#C7B0E8);}
.kf-item-img img{width:100%; height:100%; object-fit:cover;}
.kf-item-cat{font-size:11px; letter-spacing:0.06em; text-transform:uppercase; opacity:0.55; font-weight:600;}
.kf-item h3{font-family:'Archivo',sans-serif; font-weight:500; font-size:16px; color:var(--wine-deep,#3A1735); margin:2px 0 4px; line-height:1.2;}
.kf-item ul{list-style:none; font-size:12.5px; opacity:0.75; line-height:1.45; margin:0; padding:0;}
.kf-item-qty{display:inline-block; margin-top:6px; font-size:12.5px; font-weight:700; color:var(--wine,#4C1F45);}
.kf-item-del{background:none; border:none; cursor:pointer; font-size:14px; opacity:0.45; align-self:start; padding:4px;}
.kf-item-del:hover{opacity:1; color:#a33;}

.kf-empty{text-align:center; padding:60px 10px;}
.kf-empty p{font-size:16px;}
.kf-empty .kf-empty-sub{font-size:13.5px; opacity:0.65; margin:8px 0 22px;}

.kf-btn{
  width:100%; padding:15px; border-radius:2px; font-size:14.5px; font-weight:700;
  font-family:'DM Sans',sans-serif; cursor:pointer; border:1.5px solid transparent;
  transition:background .15s, transform .1s;
}
.kf-btn-primary{background:var(--wine,#4C1F45); color:#fff;}
.kf-btn-primary:hover{background:var(--wine-deep,#3A1735);}
.kf-btn-outline{width:auto; padding:12px 22px; background:transparent; color:var(--wine,#4C1F45); border-color:var(--wine,#4C1F45);}
.kf-btn-link{background:none; border:none; font-size:12.5px; opacity:0.55; cursor:pointer; text-decoration:underline; font-family:inherit; color:inherit;}

.kf-toast{
  position:fixed; left:50%; bottom:28px; z-index:110;
  transform:translate(-50%, 20px); opacity:0; pointer-events:none;
  display:flex; align-items:center; gap:14px;
  background:var(--ink,#211A1E); color:#fff;
  padding:12px 14px 12px 18px; border-radius:2px;
  box-shadow:0 12px 30px rgba(0,0,0,0.3);
  font-size:13.5px; font-family:'DM Sans',sans-serif;
  transition:opacity .2s, transform .2s;
  width:max-content; max-width:calc(100vw - 32px);
}
.kf-toast.show{opacity:1; transform:translate(-50%,0); pointer-events:auto;}
.kf-toast button{
  background:var(--pastel,#C7B0E8); color:var(--wine-deep,#3A1735);
  border:none; padding:9px 12px; font-weight:700; font-size:12.5px;
  cursor:pointer; border-radius:2px; white-space:nowrap; font-family:inherit;
}
.kf-toast-msg{display:flex; flex-direction:column; gap:2px;}
.kf-toast-msg small{font-size:12px; opacity:0.7;}
.kf-toast-actions{display:flex; gap:8px;}
.kf-toast .kf-toast-sec{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.45);}
.kf-toast .kf-toast-sec:hover{border-color:#fff;}

@media(max-width:600px){
  .kf-cart-btn{padding:9px 11px; font-size:13px; gap:6px;}
  .kf-toast{bottom:96px; font-size:13px; flex-direction:column; align-items:stretch; width:calc(100vw - 32px);}
  .kf-toast-actions button{flex:1; white-space:normal;}
}

/* LLAMADA GRATIS DE 15 MIN (ronda 4) — botón del header y sección.
   El enlace real de la agenda se define en cotizacion.js (AGENDA_URL). */
.kf-agenda-btn{
  display:inline-flex; align-items:center; gap:7px;
  padding:9px 14px; font-size:13.5px; font-weight:600;
  border:1.5px solid rgba(76,31,69,0.35); color:var(--wine,#4C1F45);
  background:transparent; border-radius:2px; white-space:nowrap;
  font-family:'DM Sans',sans-serif; transition:border-color .15s, background .15s;
}
.kf-agenda-btn:hover{border-color:var(--wine,#4C1F45); background:rgba(199,176,232,0.18);}
.kf-agenda-btn svg{flex-shrink:0;}

.kf-call{padding:8px 0 64px;}
.kf-call-card{
  max-width:920px; margin:0 auto; background:#fff;
  display:grid; grid-template-columns:1fr auto; gap:28px 48px; align-items:center;
  padding:36px 44px; border-left:4px solid var(--pastel,#C7B0E8);
  box-shadow:0 14px 34px rgba(33,26,30,0.08);
}
.kf-call-eyebrow{font-size:11.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--wine,#4C1F45);}
.kf-call h2{
  font-family:'Archivo',sans-serif; font-stretch:condensed; font-weight:300;
  font-size:34px; line-height:1.05; color:var(--wine-deep,#3A1735); margin:6px 0 10px;
}
.kf-call p{font-size:15px; opacity:0.78; line-height:1.5; max-width:46ch;}
.kf-call-cta{display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center;}
.kf-call-cta .kf-call-btn{
  display:inline-flex; align-items:center; gap:8px; padding:15px 26px;
  background:var(--wine,#4C1F45); color:#fff; font-weight:700; font-size:14.5px; border-radius:2px;
  font-family:'DM Sans',sans-serif; transition:background .15s;
}
.kf-call-cta .kf-call-btn:hover{background:var(--wine-deep,#3A1735);}
.kf-call-cta small{font-size:12.5px; opacity:0.6; letter-spacing:0.02em;}
.kf-call-cta .kf-call-alt{font-size:13px; color:var(--wine,#4C1F45); border-bottom:1px solid rgba(76,31,69,0.3);}

@media(max-width:1100px){
  .kf-agenda-label-long{display:none;}
}
@media(max-width:760px){
  .kf-call-card{grid-template-columns:1fr; padding:28px 22px; text-align:center;}
  .kf-call p{margin:0 auto;}
  .kf-call h2{font-size:28px;}
}
@media(max-width:600px){
  .kf-agenda-btn{padding:8px 9px;}
  .kf-agenda-label{display:none;}
}
/* Header en móvil: con el botón de agenda hay 3 acciones → se compacta la marca */
@media(max-width:600px){
  header .nav{gap:8px;}
  header .nav-actions{gap:6px;}
  header .brand-text .tag{display:none;}
  header .brand-text .name{font-size:18px;}
  header .kf-cart-btn{padding:9px 10px;}
}
@media(max-width:400px){
  header .brand-text{display:none;}
}

/* Datos de contacto para enviar la solicitud a la plataforma de gestión */
.kf-datos{display:flex; flex-direction:column; gap:8px; position:relative;}
.kf-datos input,.kf-datos textarea{width:100%; border:1px solid rgba(33,26,30,0.18); background:#fff; padding:10px 12px; border-radius:2px; font:inherit; font-size:14px; color:inherit;}
.kf-datos input:focus,.kf-datos textarea:focus{outline:none; border-color:var(--wine,#4C1F45);}
.kf-datos textarea{resize:vertical; min-height:56px;}
.kf-datos .kf-hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}
.kf-datos-err{font-size:13px; color:#A23B3B; line-height:1.4;}
.kf-drawer-foot .kf-btn-outline{width:100%;}
