.hcf-gifts{
  --hcf-wine:#5d232b;
  --hcf-wine-2:#742f3a;
  --hcf-cream:#f8f3ec;
  --hcf-cream-2:#efe5d8;
  --hcf-ink:#302c28;
  --hcf-muted:#756d64;
  --hcf-gold:#b68a4a;
  --hcf-white:#fff;
  --hcf-line:#e6ddd2;
  width:min(1180px,calc(100vw - 24px));
  max-width:1180px!important;
  margin:28px 0 52px;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  font-family:inherit;
  color:var(--hcf-ink);
  line-height:1.45;
}
.hcf-gifts *{box-sizing:border-box}
.hcf-gifts [hidden]{display:none!important}
.hcf-gifts button,.hcf-gifts input,.hcf-gifts select,.hcf-gifts textarea{font-family:inherit}
.hcf-shell{background:linear-gradient(180deg,#fbf8f4 0,#fff 48%);border:1px solid var(--hcf-line);border-radius:24px;overflow:hidden;box-shadow:0 18px 60px rgba(73,48,35,.08)}
.hcf-hero{padding:32px 40px 28px;background:radial-gradient(circle at 90% 10%,rgba(182,138,74,.18),transparent 28%),linear-gradient(135deg,#5d232b,#6b2c36);color:#fff}
.hcf-eyebrow{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:#f2d8b4;font-weight:700}
.hcf-hero h2{font-size:clamp(30px,3.8vw,44px)!important;line-height:1.06!important;max-width:850px;margin:9px 0 12px!important;color:#fff!important;font-weight:700!important}
.hcf-hero p{font-size:15px!important;max-width:760px;margin:0!important;color:#f9eee8!important;line-height:1.55!important}
.hcf-progress{padding:17px 40px 8px;background:#fff}
.hcf-progress-bar{height:5px;background:#eee7df;border-radius:99px;overflow:hidden}
.hcf-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--hcf-gold),#d5ad73);border-radius:99px;transition:width .28s ease}
.hcf-progress-text{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--hcf-muted);margin-top:8px}
.hcf-progress-text strong{color:var(--hcf-wine)}

/* Resumen compacto: no roba ancho al configurador */
.hcf-summary-accordion{padding:10px 40px 0;background:#fff}
.hcf-summary-toggle{appearance:none!important;width:100%!important;min-height:0!important;border:1px solid var(--hcf-line)!important;background:var(--hcf-cream)!important;color:var(--hcf-ink)!important;border-radius:14px!important;padding:12px 15px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;text-align:left!important;cursor:pointer!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important}
.hcf-summary-toggle:hover{border-color:#ccb8a1!important;background:#f5eee5!important}
.hcf-summary-toggle-copy{display:flex;align-items:baseline;gap:10px;min-width:0}
.hcf-summary-toggle-copy small{font-size:11px;color:var(--hcf-muted)}
.hcf-summary-toggle-copy strong{font-size:18px;color:var(--hcf-wine);white-space:nowrap}
.hcf-summary-toggle-action{font-size:12px;font-weight:800;color:var(--hcf-wine);white-space:nowrap}
.hcf-summary-chevron{display:inline-block;margin-left:5px;transition:transform .18s ease}
.hcf-summary-toggle[aria-expanded="true"] .hcf-summary-chevron{transform:rotate(180deg)}
.hcf-summary-panel{padding-top:8px}
.hcf-summary-card{background:#fff;border:1px solid var(--hcf-line);border-radius:14px;padding:16px 18px;box-shadow:0 9px 26px rgba(66,45,34,.05)}
.hcf-summary-empty{font-size:13px;color:var(--hcf-muted)}
.hcf-summary-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:0}
.hcf-summary-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:0;padding:8px 0;border-bottom:1px solid #f0e9e0;font-size:12px;min-width:0}
.hcf-summary-row span{color:var(--hcf-muted);flex:0 0 auto}
.hcf-summary-row strong{text-align:right;font-size:12px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
.hcf-summary-divider{display:none}
.hcf-summary-row.hcf-unit strong{color:var(--hcf-wine);font-size:14px}
.hcf-summary-total{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;align-items:end;background:var(--hcf-cream);margin-top:10px;padding:14px 16px;border-radius:12px}
.hcf-summary-total span{font-size:12px;font-weight:700}
.hcf-summary-total span small{display:block;font-size:9px;color:var(--hcf-muted);font-weight:400;margin-top:2px}
.hcf-summary-total strong{font-size:22px;color:var(--hcf-wine);white-space:nowrap}
.hcf-trust{text-align:center;font-size:10px;line-height:1.5;color:var(--hcf-muted);padding:10px 8px 0}

/* El configurador usa todo el ancho */
.hcf-layout{display:block;padding:30px 40px 40px}
.hcf-wizard{width:100%;max-width:1040px;margin:0 auto;min-width:0}
.hcf-step{display:none;animation:hcfFade .22s ease}
.hcf-step.is-active{display:block}
@keyframes hcfFade{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:none}}
.hcf-step-heading{display:flex;gap:15px;align-items:flex-start;margin-bottom:22px}
.hcf-step-heading>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--hcf-cream);color:var(--hcf-wine);font-weight:800;font-size:12px;flex:0 0 42px}
.hcf-step-heading h3{font-size:28px!important;line-height:1.15!important;margin:2px 0 5px!important;color:var(--hcf-ink)!important;font-weight:700!important}
.hcf-step-heading p{margin:0!important;color:var(--hcf-muted)!important;font-size:14px!important;line-height:1.5!important;max-width:680px}

/* Reset de botones del tema/Elementor dentro del configurador */
.hcf-choice,.hcf-product-card{appearance:none!important;width:100%!important;min-width:0!important;min-height:0!important;border:1px solid var(--hcf-line)!important;background:#fff!important;color:var(--hcf-ink)!important;border-radius:14px!important;cursor:pointer!important;text-align:left!important;text-transform:none!important;letter-spacing:normal!important;line-height:1.3!important;box-shadow:none!important;margin:0!important;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;position:relative!important;overflow:hidden}
.hcf-choice:hover,.hcf-product-card:hover{border-color:#cbb8a2!important;transform:translateY(-1px);box-shadow:0 8px 22px rgba(75,53,41,.07)!important}
.hcf-choice.is-selected,.hcf-product-card.is-selected{border-color:var(--hcf-wine)!important;box-shadow:0 0 0 2px rgba(93,35,43,.08)!important}

/* Eventos: 3 + 2, bajos y legibles */
.hcf-choice-grid,.hcf-product-grid{display:grid;gap:14px}
.hcf-event-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}
.hcf-event-choice{padding:12px 15px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;min-height:52px!important;background:#fff!important}
.hcf-event-choice.is-selected{background:var(--hcf-cream)!important}
.hcf-choice-icon{font-size:19px!important;line-height:1!important;color:var(--hcf-wine)!important;flex:0 0 24px;text-align:center}
.hcf-event-choice strong{font-size:13px!important;color:var(--hcf-ink)!important;font-weight:800!important;white-space:nowrap}

.hcf-fields{display:grid;gap:16px;margin-top:16px}
.hcf-fields-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hcf-fields label{display:block;min-width:0}
.hcf-fields label>span{display:block;font-size:13px;font-weight:700;margin:0 0 7px}
.hcf-fields em{font-style:normal;font-weight:400;color:var(--hcf-muted)}
.hcf-fields input,.hcf-fields select,.hcf-fields textarea{width:100%!important;min-height:0!important;border:1px solid var(--hcf-line)!important;background:#fff!important;border-radius:11px!important;padding:11px 13px!important;font:inherit!important;font-size:15px!important;color:var(--hcf-ink)!important;outline:none!important;box-shadow:none!important;line-height:1.4!important}
.hcf-fields input:focus,.hcf-fields select:focus,.hcf-fields textarea:focus{border-color:var(--hcf-wine)!important;box-shadow:0 0 0 3px rgba(93,35,43,.07)!important}
.hcf-fields small{display:block;margin-top:5px;color:var(--hcf-muted);font-size:11px}
.hcf-field-wide{grid-column:1/-1}

/* Envoltorios: tarjetas horizontales y anchas */
.hcf-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hcf-wrap-card{display:grid!important;grid-template-columns:118px minmax(0,1fr)!important;min-height:112px!important;padding:0!important}
.hcf-wrap-grid .hcf-wrap-card:last-child:nth-child(odd){grid-column:1/-1}
.hcf-product-image{height:116px;background:var(--hcf-cream);overflow:hidden}
.hcf-wrap-card .hcf-product-image{height:100%;min-height:112px}
.hcf-product-image img{width:100%;height:100%;object-fit:cover;display:block}
.hcf-placeholder{display:grid;place-items:center;color:#bcae9f;font-size:31px;background:linear-gradient(135deg,#f8f2ea,#efe4d6)}
.hcf-product-body{display:flex;justify-content:space-between;gap:12px;padding:15px 16px;align-items:center;min-width:0}
.hcf-product-body>div{min-width:0}
.hcf-product-body strong{display:block;font-size:14px!important;line-height:1.28!important;color:var(--hcf-ink)!important;font-weight:800!important;overflow-wrap:break-word}
.hcf-product-body small{display:block;margin-top:5px;color:var(--hcf-muted)!important;font-size:11px!important;line-height:1.35!important}
.hcf-price{font-size:13px!important;font-weight:800!important;color:var(--hcf-wine)!important;white-space:nowrap;flex:0 0 auto}
.hcf-check{position:absolute;right:9px;top:9px;width:25px;height:25px;border-radius:50%;background:var(--hcf-wine);color:#fff;display:grid;place-items:center;font-size:12px;opacity:0;transform:scale(.75);transition:.18s;z-index:3}
.hcf-product-card.is-selected .hcf-check{opacity:1;transform:scale(1)}

/* Dulces: contador siempre visible y clicable */
.hcf-capacity{display:flex;align-items:center;gap:12px;padding:12px 15px;background:var(--hcf-cream);border:1px solid #eee3d6;border-radius:13px;margin-bottom:16px;flex-wrap:wrap}
.hcf-capacity-label{font-size:12px;font-weight:800;color:var(--hcf-wine)}
.hcf-capacity-dots{display:flex;gap:5px}
.hcf-capacity-dots i{width:9px;height:9px;border-radius:50%;background:#d9cfc4}
.hcf-capacity-dots i.is-used{background:var(--hcf-wine)}
.hcf-capacity-text{margin-left:auto;font-size:12px}
.hcf-sweet-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hcf-sweet-card{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--hcf-line);border-radius:13px;padding:9px;background:#fff;transition:.16s;min-width:0}
.hcf-sweet-card.is-selected{border-color:#c9a06c;background:#fffcf8;box-shadow:0 0 0 1px rgba(182,138,74,.08)}
.hcf-sweet-card .hcf-product-image{height:58px;border-radius:9px}
.hcf-sweet-info{min-width:0}
.hcf-sweet-info strong{display:block;font-size:13px!important;line-height:1.25!important;color:var(--hcf-ink)!important;font-weight:800!important;overflow-wrap:break-word}
.hcf-sweet-info small{display:block;font-size:11px!important;color:var(--hcf-muted)!important;margin-top:4px;line-height:1.3!important}
.hcf-counter{display:grid;grid-template-columns:32px 30px 32px;align-items:center;border:1px solid #d9cabc;border-radius:10px;overflow:hidden;background:#fff;position:relative;z-index:4;flex:0 0 auto}
.hcf-counter button{appearance:none!important;width:32px!important;height:34px!important;min-width:32px!important;min-height:34px!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:var(--hcf-wine)!important;font-size:20px!important;font-weight:700!important;line-height:1!important;display:grid!important;place-items:center!important;cursor:pointer!important;text-transform:none!important;box-shadow:none!important;touch-action:manipulation}
.hcf-counter button:hover:not(:disabled){background:var(--hcf-cream)!important}
.hcf-counter button:disabled{opacity:.28!important;cursor:not-allowed!important}
.hcf-counter span{width:30px;text-align:center;font-size:12px;font-weight:800;color:var(--hcf-ink)}

/* Decoración */
.hcf-decor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hcf-decor-card{display:grid!important;grid-template-columns:82px minmax(0,1fr)!important;min-height:82px!important;padding:0!important}
.hcf-decor-card .hcf-product-image{height:100%;min-height:82px}
.hcf-skip{margin-top:14px!important;border:0!important;background:none!important;color:var(--hcf-wine)!important;text-decoration:underline!important;cursor:pointer!important;font:inherit!important;font-size:13px!important;padding:4px 0!important;text-transform:none!important;box-shadow:none!important}

.hcf-upload{border:1.5px dashed #ccbda9!important;border-radius:14px;padding:18px!important;text-align:center;background:#fbf8f3;cursor:pointer}
.hcf-upload input{display:none}
.hcf-upload-icon{display:block!important;font-size:24px!important;color:var(--hcf-wine);margin:0 0 4px!important}
.hcf-upload strong{display:block;font-size:14px}
.hcf-upload small{margin-top:3px}
.hcf-file-name{display:block!important;font-size:12px!important;color:var(--hcf-wine)!important;margin-top:8px!important}
.hcf-subsection{margin-top:28px;padding-top:22px;border-top:1px solid var(--hcf-line)}
.hcf-subsection h4{font-size:17px!important;margin:0 0 12px!important;color:var(--hcf-ink)!important}
.hcf-delivery-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hcf-delivery-choice{padding:14px 16px!important}
.hcf-delivery-choice.is-selected{background:var(--hcf-cream)!important}
.hcf-delivery-choice strong{display:block;font-size:14px!important;color:var(--hcf-ink)!important}
.hcf-delivery-choice small{display:block;margin-top:4px;color:var(--hcf-muted)!important;font-size:11px!important}
.hcf-shipping-fields{margin-top:14px}
.hcf-shipping-note{font-size:11px;color:var(--hcf-muted);margin:8px 0 0}
.hcf-consent{display:flex;align-items:flex-start;gap:9px;margin:18px 0;font-size:12px;color:var(--hcf-muted)}
.hcf-consent input{margin-top:2px}
.hcf-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.hcf-final-box{background:var(--hcf-cream);border-radius:14px;padding:17px;display:flex;align-items:center;gap:12px;margin:18px 0}
.hcf-final-box span{font-size:13px;font-weight:700}
.hcf-final-box strong{font-size:25px;color:var(--hcf-wine);margin-left:auto;white-space:nowrap}
.hcf-final-box small{font-size:10px;color:var(--hcf-muted)}
.hcf-submit{appearance:none!important;width:100%!important;border:0!important;border-radius:12px!important;background:var(--hcf-wine)!important;color:#fff!important;padding:14px 18px!important;font:inherit!important;font-size:15px!important;font-weight:800!important;cursor:pointer!important;display:flex!important;justify-content:center!important;gap:10px!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important}
.hcf-submit:hover{background:var(--hcf-wine-2)!important}
.hcf-submit:disabled{opacity:.6;cursor:wait!important}
.hcf-submit-note{text-align:center;font-size:11px;color:var(--hcf-muted)}
.hcf-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--hcf-line)}
.hcf-nav.is-final{justify-content:flex-start}
.hcf-prev,.hcf-next{appearance:none!important;border:0!important;border-radius:11px!important;padding:11px 16px!important;font:inherit!important;font-size:13px!important;font-weight:800!important;cursor:pointer!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important;min-height:42px!important}
.hcf-prev{background:#f2ece5!important;color:var(--hcf-ink)!important}
.hcf-prev:disabled{opacity:.35;cursor:not-allowed!important}
.hcf-next{background:var(--hcf-wine)!important;color:#fff!important;margin-left:auto!important}
.hcf-message{margin-top:12px;padding:0;font-size:13px}
.hcf-message.is-error{background:#fff1f0;color:#8b2c2c;border:1px solid #f0c9c5;border-radius:10px;padding:10px 12px}
.hcf-message.is-success{background:#eef8f0;color:#2c6a3b;border-radius:10px;padding:10px 12px}
.hcf-mobile-total{display:none}
.hcf-success{width:min(760px,calc(100vw - 24px));margin:24px auto;padding:45px 18px;background:linear-gradient(180deg,#fbf7f1,#fff);border:1px solid var(--hcf-line);border-radius:24px}
.hcf-success-card{max-width:560px;margin:auto;text-align:center}
.hcf-success-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:var(--hcf-wine);color:#fff;font-size:26px}
.hcf-success h3{font-size:30px!important;margin:0 0 10px!important}
.hcf-success p{color:var(--hcf-muted)}
.hcf-success-number{display:inline-block;background:var(--hcf-cream);border-radius:10px;padding:10px 14px;margin:10px 0 18px;font-weight:700;color:var(--hcf-wine)}
.hcf-success-pdf{display:block;width:max-content;max-width:100%;margin:auto;background:var(--hcf-wine);color:#fff!important;text-decoration:none!important;border-radius:12px;padding:12px 18px;font-weight:700;font-size:13px}

@media(max-width:900px){
  .hcf-gifts{width:min(100%,calc(100vw - 20px))}
  .hcf-hero,.hcf-progress,.hcf-summary-accordion,.hcf-layout{padding-left:26px;padding-right:26px}
  .hcf-sweet-grid{grid-template-columns:1fr}
}

@media(max-width:700px){
  .hcf-gifts{width:calc(100vw - 16px);margin:12px 0 76px}
  .hcf-shell{border-radius:17px}
  .hcf-hero{padding:23px 17px 21px}
  .hcf-hero h2{font-size:29px!important}
  .hcf-hero p{font-size:13px!important}
  .hcf-progress{padding:13px 17px 5px}
  .hcf-summary-accordion{padding:8px 17px 0}
  .hcf-summary-toggle{padding:11px 12px!important}
  .hcf-summary-toggle-copy{display:block}
  .hcf-summary-toggle-copy small{display:block;line-height:1.1;margin-bottom:2px}
  .hcf-summary-toggle-copy strong{font-size:17px}
  .hcf-summary-toggle-action{font-size:11px}
  .hcf-summary-card{padding:13px}
  .hcf-summary-content{grid-template-columns:1fr}
  .hcf-summary-total{grid-column:auto}
  .hcf-layout{padding:22px 17px 28px}
  .hcf-step-heading{gap:11px;margin-bottom:19px}
  .hcf-step-heading>span{width:36px;height:36px;flex-basis:36px}
  .hcf-step-heading h3{font-size:23px!important}
  .hcf-step-heading p{font-size:13px!important}
  .hcf-event-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .hcf-event-grid .hcf-event-choice:last-child:nth-child(odd){grid-column:1/-1}
  .hcf-event-choice{padding:10px 12px!important;min-height:48px!important}
  .hcf-event-choice strong{font-size:12px!important}
  .hcf-fields-2,.hcf-product-grid,.hcf-decor-grid,.hcf-delivery-options{grid-template-columns:1fr}
  .hcf-wrap-grid .hcf-wrap-card:last-child:nth-child(odd){grid-column:auto}
  .hcf-wrap-card{grid-template-columns:90px minmax(0,1fr)!important;min-height:88px!important}
  .hcf-wrap-card .hcf-product-image{min-height:88px}
  .hcf-product-body{padding:12px 13px}
  .hcf-product-body strong{font-size:13px!important}
  .hcf-price{font-size:12px!important}
  .hcf-capacity{padding:10px 12px;gap:8px}
  .hcf-capacity-text{width:100%;margin-left:0}
  .hcf-sweet-card{grid-template-columns:54px minmax(0,1fr) auto;gap:8px;padding:7px}
  .hcf-sweet-card .hcf-product-image{height:50px}
  .hcf-sweet-info strong{font-size:12px!important}
  .hcf-sweet-info small{font-size:10px!important}
  .hcf-counter{grid-template-columns:30px 26px 30px}
  .hcf-counter button{width:30px!important;min-width:30px!important;height:32px!important;min-height:32px!important}
  .hcf-counter span{width:26px}
  .hcf-decor-card{grid-template-columns:74px minmax(0,1fr)!important;min-height:74px!important}
  .hcf-decor-card .hcf-product-image{min-height:74px}
  .hcf-final-box{align-items:flex-start;flex-wrap:wrap}
  .hcf-final-box strong{font-size:23px}
  .hcf-final-box small{width:100%;text-align:right}
  .hcf-nav{padding-bottom:4px}
  .hcf-next{display:none!important}
  .hcf-mobile-total{position:fixed;left:0;right:0;bottom:0;z-index:9998;background:#fff;border-top:1px solid var(--hcf-line);padding:9px 12px calc(9px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 -8px 24px rgba(54,38,29,.1)}
  .hcf-mobile-total>div{display:flex;flex-direction:column;min-width:0}
  .hcf-mobile-total small{font-size:10px;color:var(--hcf-muted)}
  .hcf-mobile-total strong{font-size:19px;color:var(--hcf-wine);white-space:nowrap}
  .hcf-mobile-next{appearance:none!important;border:0!important;background:var(--hcf-wine)!important;color:#fff!important;font-weight:800!important;border-radius:10px!important;padding:10px 14px!important;font-size:12px!important;min-height:40px!important;text-transform:none!important;letter-spacing:normal!important;box-shadow:none!important;white-space:nowrap}
  .hcf-success{border-radius:18px}
  .hcf-success h3{font-size:26px!important}
}

@media(max-width:380px){
  .hcf-gifts{width:calc(100vw - 10px)}
  .hcf-event-choice{padding:9px!important;gap:6px!important}
  .hcf-choice-icon{flex-basis:20px;font-size:17px!important}
  .hcf-sweet-card{grid-template-columns:46px minmax(0,1fr) auto;gap:6px}
  .hcf-sweet-card .hcf-product-image{height:46px}
  .hcf-counter{grid-template-columns:28px 22px 28px}
  .hcf-counter button{width:28px!important;min-width:28px!important}
  .hcf-counter span{width:22px}
}
