/* ==== Corrida FarmaCenter — estilos públicos ==== */
.cfc-wrap{
	--cfc-green:#16a34a;
	--cfc-green-d:#15803d;
	--cfc-green-l:#e9f5ee;
	--cfc-orange:#f97316;
	--cfc-orange-d:#ea6a0d;
	--cfc-ink:#1f2937;
	--cfc-gray:#6b7280;
	--cfc-border:#e5e7eb;
	--cfc-bg:#eef4ef;
	display:flex;
	justify-content:center;
	padding:24px 14px;
	background:var(--cfc-bg);
	box-sizing:border-box;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	color:var(--cfc-ink);
}
.cfc-wrap *{box-sizing:border-box;}

.cfc-card{
	width:100%;
	max-width:560px;
	background:#fff;
	border-radius:26px;
	box-shadow:0 18px 50px rgba(16,74,42,.10);
	padding:34px 30px;
}

/* ---- Íconos ---- */
.cfc-ic{width:20px;height:20px;fill:var(--cfc-green);flex:none;vertical-align:middle;}
.cfc-ic-green{fill:var(--cfc-green);}
.cfc-ic-white{fill:#fff;}
.cfc-ic-lg{width:44px;height:44px;}

/* ---- Cabecera del formulario ---- */
.cfc-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.cfc-header-left{display:flex;align-items:center;gap:14px;}
.cfc-app-icon{
	width:58px;height:58px;border-radius:16px;
	background:linear-gradient(135deg,#22c55e,#15803d);
	display:flex;align-items:center;justify-content:center;
	box-shadow:0 8px 18px rgba(21,128,61,.35);
}
.cfc-app-icon .cfc-ic{width:30px;height:30px;}
.cfc-title{margin:0;font-size:26px;font-weight:800;color:#111827;line-height:1.1;}
.cfc-subtitle{margin:2px 0 0;color:var(--cfc-gray);font-size:15px;}

.cfc-logo-text{text-align:right;line-height:1.05;color:var(--cfc-green-d);}
.cfc-logo-top{display:block;font-size:12px;font-weight:700;letter-spacing:.5px;color:#111827;}
.cfc-logo-main{display:block;font-size:20px;font-weight:800;}
.cfc-logo-main em{font-style:normal;color:#374151;font-size:22px;}
.cfc-logo-main sup{font-size:10px;}
.cfc-logo-date{display:block;font-size:12px;font-weight:700;margin-top:2px;}
.cfc-logo-img{max-width:200px;height:auto;}

.cfc-divider{height:1px;background:var(--cfc-border);margin:22px 0;}

/* ---- Campos ---- */
.cfc-field{margin-bottom:18px;}
.cfc-label{
	display:flex;align-items:center;gap:8px;
	font-weight:700;color:var(--cfc-green-d);font-size:15px;margin-bottom:8px;
}
.cfc-req{color:#ef4444;}
.cfc-input{
	width:100%;padding:15px 16px;font-size:15px;color:var(--cfc-ink);
	border:1.5px solid var(--cfc-border);border-radius:14px;background:#fff;
	outline:none;transition:border-color .15s,box-shadow .15s;
}
.cfc-input::placeholder{color:#9ca3af;}
.cfc-input:focus{border-color:var(--cfc-green);box-shadow:0 0 0 3px rgba(22,163,74,.12);}
.cfc-input-locked{background:#f3f6f4;color:#4b5563;cursor:not-allowed;}
.cfc-hint{margin:6px 2px 0;font-size:12px;color:var(--cfc-gray);}

.cfc-select-wrap{position:relative;}
.cfc-select{appearance:none;-webkit-appearance:none;padding-right:44px;cursor:pointer;color:#4b5563;}
.cfc-chev{position:absolute;right:14px;top:50%;transform:translateY(-50%);fill:none;color:#9ca3af;pointer-events:none;width:20px;height:20px;}

/* ---- Términos ---- */
.cfc-terms{
	display:flex;align-items:center;gap:14px;text-decoration:none;
	background:var(--cfc-green-l);border:1.5px solid #cfe9d9;border-radius:16px;
	padding:16px 18px;margin:6px 0 18px;color:var(--cfc-ink);
}
.cfc-terms:hover{border-color:var(--cfc-green);}
.cfc-terms-txt{display:flex;flex-direction:column;flex:1;}
.cfc-terms-txt b{color:var(--cfc-green-d);font-size:15px;}
.cfc-terms-txt small{color:var(--cfc-gray);font-size:13px;margin-top:2px;}
.cfc-chev-terms{fill:none;color:#9ca3af;width:20px;height:20px;}
.cfc-terms-static{cursor:default;}

/* ---- Checkbox ---- */
.cfc-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#374151;margin:4px 2px 22px;cursor:pointer;}
.cfc-check input{width:20px;height:20px;margin-top:1px;accent-color:var(--cfc-green);flex:none;}

/* ---- Botones ---- */
.cfc-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cfc-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;
	font-weight:800;font-size:16px;border:none;border-radius:40px;
	padding:15px 30px;cursor:pointer;text-decoration:none;letter-spacing:.3px;
	transition:transform .05s,box-shadow .15s,background .15s;
}
.cfc-btn:active{transform:translateY(1px);}
.cfc-btn-cancel{background:#fff;border:1.5px solid var(--cfc-border);color:#6b7280;min-width:150px;}
.cfc-btn-cancel:hover{border-color:#cbd5e1;}
.cfc-btn-primary{
	background:linear-gradient(180deg,#fb8f2e,#f97316);color:#fff;
	box-shadow:0 12px 24px rgba(249,115,22,.35);min-width:200px;
}
.cfc-btn-primary:hover{background:linear-gradient(180deg,#f97e13,#ea6a0d);}
.cfc-btn-block{width:100%;margin-top:6px;padding:17px 30px;font-size:17px;}

.cfc-secure{
	display:flex;align-items:center;gap:10px;justify-content:center;
	background:var(--cfc-green-l);border-radius:14px;padding:14px 16px;margin-top:22px;
	color:#3f6b52;font-size:13px;text-align:center;
}

.cfc-errors{
	background:#fef2f2;border:1.5px solid #fecaca;border-radius:14px;
	padding:12px 16px;margin-bottom:18px;color:#b91c1c;font-size:14px;
}
.cfc-errors p{margin:4px 0;}

/* ---- Pantallas de éxito / recordatorio ---- */
.cfc-success-card{text-align:center;}
.cfc-badge{position:relative;width:110px;height:110px;margin:6px auto 22px;display:flex;align-items:center;justify-content:center;}
.cfc-badge-ring{position:absolute;inset:0;border-radius:50%;background:#eafaf0;}
.cfc-badge .cfc-ic{position:relative;}
.cfc-badge-check .cfc-badge-ring{background:radial-gradient(circle,#d6f3e1 60%,#eafaf0 61%);}
.cfc-badge-bell .cfc-badge-ring{background:radial-gradient(circle,#d6f3e1 60%,#eafaf0 61%);}

.cfc-success-title{font-size:30px;font-weight:800;color:var(--cfc-green-d);line-height:1.15;margin:0 0 10px;}
.cfc-success-sub{color:var(--cfc-gray);font-size:16px;margin:0 0 6px;}

.cfc-codes-head{display:flex;align-items:center;gap:10px;justify-content:center;font-weight:800;color:var(--cfc-green-d);font-size:19px;margin:22px 0 14px;}
.cfc-codes-box{border:1.5px solid var(--cfc-border);border-radius:18px;background:#fbfdfc;overflow:hidden;}
.cfc-code{
	padding:18px 12px;font-size:26px;font-weight:800;color:var(--cfc-green-d);
	text-align:center;border-bottom:1px dashed #dbe7e0;letter-spacing:.5px;
}
.cfc-code:last-child{border-bottom:none;}

.cfc-eventrid{display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap;color:var(--cfc-gray);font-size:16px;margin:22px 0 18px;}
.cfc-eventrid b{color:var(--cfc-green-d);}
.cfc-slogan{display:flex;align-items:center;gap:8px;justify-content:center;flex-wrap:wrap;color:var(--cfc-gray);font-size:16px;margin:22px 0 18px;}
.cfc-slogan b{color:var(--cfc-green-d);}

.cfc-notice{text-align:center;}
.cfc-notice p{margin-bottom:18px;font-size:16px;color:#374151;}

/* ---- Detalle por tanda (recordatorio) ---- */
.cfc-tandas{margin:22px 0 6px;text-align:left;}
.cfc-tanda{border:1.5px solid var(--cfc-border);border-radius:14px;background:#fbfdfc;padding:12px 14px;margin-bottom:10px;}
.cfc-tanda-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;}
.cfc-tanda-top b{color:var(--cfc-green-d);font-size:15px;}
.cfc-tanda-meta{color:var(--cfc-gray);font-size:12px;}
.cfc-tanda-codes{margin-top:6px;font-size:14px;font-weight:700;color:#374151;word-break:break-word;letter-spacing:.3px;}

/* ---- Solicitar más kits (desplegable) ---- */
.cfc-btn-outline{background:#fff;border:1.5px solid var(--cfc-green);color:var(--cfc-green-d);min-width:200px;}
.cfc-btn-outline:hover{background:var(--cfc-green-l);}
.cfc-mas{margin-top:4px;}
.cfc-mas summary{list-style:none;width:100%;}
.cfc-mas summary::-webkit-details-marker{display:none;}
.cfc-mas[open] summary{margin-bottom:18px;}
.cfc-mas-body{text-align:left;}
.cfc-mas-body .cfc-hint{margin-bottom:16px;font-size:13px;}

/* ---- Responsive ---- */
@media(max-width:520px){
	.cfc-card{padding:26px 20px;border-radius:22px;}
	.cfc-title{font-size:22px;}
	.cfc-success-title{font-size:24px;}
	.cfc-header-right{width:100%;text-align:left;}
	.cfc-logo-text{text-align:left;}
	.cfc-actions{flex-direction:column-reverse;}
	.cfc-btn-cancel,.cfc-btn-primary{width:100%;}
	.cfc-code{font-size:22px;}
}
